locks: Set FL_CLOSE when removing flock locks on close()
Set FL_CLOSE in fl_flags as in locks_remove_posix() when clearing locks. NFS will check for this flag to ensure an unlock is sent in a following patch. Fuse handles flock and posix locks differently for FL_CLOSE, and so requires a fixup to retain the existing behavior for flock. Signed-off-by: Benjamin Coddington <bcodding@redhat.com> Reviewed-by: Jeff Layton <jlayton@redhat.com> Acked-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:

committed by
Trond Myklebust

parent
e12937279c
commit
50f2112cf7
@@ -2168,7 +2168,7 @@ static int fuse_setlk(struct file *file, struct file_lock *fl, int flock)
|
||||
}
|
||||
|
||||
/* Unlock on close is handled by the flush method */
|
||||
if (fl->fl_flags & FL_CLOSE)
|
||||
if ((fl->fl_flags & FL_CLOSE_POSIX) == FL_CLOSE_POSIX)
|
||||
return 0;
|
||||
|
||||
fuse_lk_fill(&args, file, fl, opcode, pid, flock, &inarg);
|
||||
|
Reference in New Issue
Block a user