fix fuse (closes: #1847)
authorNicolas Thill <nico@openwrt.org>
Sun, 10 Jun 2007 19:47:55 +0000 (19:47 +0000)
committerNicolas Thill <nico@openwrt.org>
Sun, 10 Jun 2007 19:47:55 +0000 (19:47 +0000)
SVN-Revision: 7548

package/fuse/patches/210-posix_test_lock.patch
package/fuse/patches/230-kobj.patch

index 50c6e75..d2e2f78 100644 (file)
@@ -1,11 +1,21 @@
 --- 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
 --- 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) {
        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))
 +                      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;
                                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);
index 88f8b6c..684402f 100644 (file)
@@ -1,17 +1,23 @@
 --- 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
 --- 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
        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);
 +      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;
  
        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);
 +      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;
        err = subsystem_register(&connections_subsys);
        if (err)
                goto out_fuse_unregister;