lkml.org 
[lkml]   [2021]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] ksmbd: use F_SETLK to force vfs_file_lock() to return asynchronously
    From
    Date
    On 22.12.2021 09:51, Vasily Averin wrote:
    > On 22.12.2021 08:25, Namjae Jeon wrote:
    >> 2021-12-22 13:32 GMT+09:00, Vasily Averin <vvs@virtuozzo.com>:
    >>> On 22.12.2021 05:50, Namjae Jeon wrote:
    >>>> 2021-12-21 22:08 GMT+09:00, Vasily Averin <vvs@virtuozzo.com>:
    >>>>> On 21.12.2021 15:02, Namjae Jeon wrote:
    >>>>>> 2021-12-19 18:34 GMT+09:00, Vasily Averin <vvs@virtuozzo.com>:
    >>>>>>> To avoid possible deadlock ksmbd should process locks asynchronously.
    >>>>>>> Callers expecting vfs_file_locks() to return asynchronously should
    >>>>>>> only
    >>>>>>> use F_SETLK, not F_SETLKW.
    >>>>>> Should I check this patch instead of
    >>>>>> [PATCH] ksmbd: force "fail immediately" flag on fs with its own ->lock
    >>>>>> ?
    >>>>>
    >>>>> no, these patches are independent and both ones are required.
    >>>>> current patch fixes incorrect kernel thread behaviour:
    >>>>> kernel threads should not use F_SETLKW for locking requests.
    >>>> How does this patch work? posix_lock_file in vfs_lock_file() does not use
    >>>> cmd.
    >>>> And your patch still leaves FL_SLEEP.
    >>>
    >>> "use F_SETLK, not F_SETLKW" was copy-pasted from requirement described in
    >>> comment above vfs_lock_file().
    >>>
    >>> posix_lock_file() is not used in all ->lock() functions, and use F_SETLKW
    >>> forces some of affected filesystem use blocking locks:
    >> What I'm saying is that when we apply "ksmbd: force "fail immediately"
    >> flag on fs with its own ->lock ", this patch is meaningless. How is
    >> ->lock() with F_SETLKW called?
    >
    > I got your point finally,
    > yes, you are right, now this cannot happen.
    > However I'm going to fix all affected filesystems and then revert
    > "ksmbd: force "fail immediately" flag on fs with its own ->lock"
    > When this happen and ksmbd will still use IS_SETLKW it will trigger the problems described below.

    I've created
    https://bugzilla.kernel.org/show_bug.cgi?id=215383

    \
     
     \ /
      Last update: 2021-12-22 08:41    [W:4.305 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site