Commit 24114504 authored by Miklos Szeredi's avatar Miklos Szeredi Committed by Linus Torvalds

fuse: fix flock breakage

Commit 37fb3a30 ("fuse: fix flock") added in 3.1-rc4 caused flock() to
fail with ENOSYS with the kernel ABI version 7.16 or earlier.

Fix by falling back to testing FUSE_POSIX_LOCKS for ABI versions 7.16
and earlier.
Reported-by: default avatarMartin Ziegler <ziegler@email.mathematik.uni-freiburg.de>
Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
Tested-by: default avatarMartin Ziegler <ziegler@email.mathematik.uni-freiburg.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 87adf1c6
...@@ -812,6 +812,9 @@ static void process_init_reply(struct fuse_conn *fc, struct fuse_req *req) ...@@ -812,6 +812,9 @@ static void process_init_reply(struct fuse_conn *fc, struct fuse_req *req)
if (arg->minor >= 17) { if (arg->minor >= 17) {
if (!(arg->flags & FUSE_FLOCK_LOCKS)) if (!(arg->flags & FUSE_FLOCK_LOCKS))
fc->no_flock = 1; fc->no_flock = 1;
} else {
if (!(arg->flags & FUSE_POSIX_LOCKS))
fc->no_flock = 1;
} }
if (arg->flags & FUSE_ATOMIC_O_TRUNC) if (arg->flags & FUSE_ATOMIC_O_TRUNC)
fc->atomic_o_trunc = 1; fc->atomic_o_trunc = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment