[PATCH 1/2] fuse: fix flock breakage

From: Miklos Szeredi
Date: Mon Sep 12 2011 - 03:37:18 EST


From: Miklos Szeredi <mszeredi@xxxxxxx>

Commit 37fb3a30b4 "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: Martin Ziegler <ziegler@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Miklos Szeredi <mszeredi@xxxxxxx>
Tested-by: Martin Ziegler <ziegler@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
---
fs/fuse/inode.c | 3 +++
1 file changed, 3 insertions(+)

Index: linux-2.6/fs/fuse/inode.c
===================================================================
--- linux-2.6.orig/fs/fuse/inode.c 2011-09-07 11:40:36.000000000 +0200
+++ linux-2.6/fs/fuse/inode.c 2011-09-09 12:02:29.000000000 +0200
@@ -812,6 +812,9 @@ static void process_init_reply(struct fu
if (arg->minor >= 17) {
if (!(arg->flags & FUSE_FLOCK_LOCKS))
fc->no_flock = 1;
+ } else {
+ if (!(arg->flags & FUSE_POSIX_LOCKS))
+ fc->no_flock = 1;
}
if (arg->flags & FUSE_ATOMIC_O_TRUNC)
fc->atomic_o_trunc = 1;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/