--- fuse.old/kernel/file.c 2007-01-28 21:25:02.000000000 +0000
+++ fuse.dev/kernel/file.c 2007-05-29 00:10:29.000000000 +0100
-@@ -782,7 +782,7 @@
+@@ -781,6 +785,10 @@
+
if (cmd == F_GETLK) {
if (fc->no_lock) {
- #ifdef KERNEL_2_6_17_PLUS
-- if (!posix_test_lock(file, fl, fl))
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
+ if (!posix_test_lock(file, fl))
++ fl->fl_type = F_UNLCK;
++#else
+ #ifdef KERNEL_2_6_17_PLUS
+ if (!posix_test_lock(file, fl, fl))
fl->fl_type = F_UNLCK;
- #else
- struct file_lock *cfl = posix_test_lock(file, fl);
+@@ -791,6 +799,7 @@
+ else
+ *fl = *cfl;
+ #endif
++#endif
+ err = 0;
+ } else
+ err = fuse_getlk(file, fl);
--- fuse.old/kernel/inode.c 2007-05-29 07:31:43.000000000 +0100
+++ fuse.dev/kernel/inode.c 2007-05-29 07:29:42.000000000 +0100
-@@ -858,12 +858,12 @@
+@@ -858,12 +858,20 @@
if (err)
return err;
#endif
-- kset_set_kset_s(&fuse_subsys, fs_subsys);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
+ kobj_set_kset_s(&fuse_subsys, fs_subsys);
++#else
+ kset_set_kset_s(&fuse_subsys, fs_subsys);
++#endif
err = subsystem_register(&fuse_subsys);
if (err)
goto out_err;
-- kset_set_kset_s(&connections_subsys, fuse_subsys);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
+ kobj_set_kset_s(&connections_subsys, fuse_subsys);
++#else
+ kset_set_kset_s(&connections_subsys, fuse_subsys);
++#endif
err = subsystem_register(&connections_subsys);
if (err)
goto out_fuse_unregister;