2007-06-23 15:54:36 +00:00
|
|
|
Index: fuse-2.6.5/kernel/file.c
|
|
|
|
===================================================================
|
|
|
|
--- fuse-2.6.5.orig/kernel/file.c 2007-06-23 13:03:50.000000000 +0200
|
|
|
|
+++ fuse-2.6.5/kernel/file.c 2007-06-23 13:03:51.000000000 +0200
|
|
|
|
@@ -781,6 +781,10 @@
|
2007-06-10 19:47:55 +00:00
|
|
|
|
2007-06-05 22:46:02 +00:00
|
|
|
if (cmd == F_GETLK) {
|
|
|
|
if (fc->no_lock) {
|
2007-06-10 19:47:55 +00:00
|
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
|
2007-06-05 22:46:02 +00:00
|
|
|
+ if (!posix_test_lock(file, fl))
|
2007-06-10 19:47:55 +00:00
|
|
|
+ fl->fl_type = F_UNLCK;
|
|
|
|
+#else
|
|
|
|
#ifdef KERNEL_2_6_17_PLUS
|
|
|
|
if (!posix_test_lock(file, fl, fl))
|
2007-06-05 22:46:02 +00:00
|
|
|
fl->fl_type = F_UNLCK;
|
2007-06-23 15:54:36 +00:00
|
|
|
@@ -791,6 +795,7 @@
|
2007-06-10 19:47:55 +00:00
|
|
|
else
|
|
|
|
*fl = *cfl;
|
|
|
|
#endif
|
|
|
|
+#endif
|
|
|
|
err = 0;
|
|
|
|
} else
|
|
|
|
err = fuse_getlk(file, fl);
|