fix fuse (closes: #1847)

SVN-Revision: 7548
owl
Nicolas Thill 2007-06-10 19:47:55 +00:00
parent ce6260adbc
commit eddd751ba7
2 changed files with 24 additions and 8 deletions

View File

@ -1,11 +1,21 @@
--- fuse.old/kernel/file.c 2007-01-28 21:25:02.000000000 +0000 --- 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.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 (cmd == F_GETLK) {
if (fc->no_lock) { if (fc->no_lock) {
#ifdef KERNEL_2_6_17_PLUS +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
- if (!posix_test_lock(file, fl, fl))
+ 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 @@ -791,6 +799,7 @@
struct file_lock *cfl = posix_test_lock(file, fl); else
*fl = *cfl;
#endif
+#endif
err = 0;
} else
err = fuse_getlk(file, fl);

View File

@ -1,17 +1,23 @@
--- fuse.old/kernel/inode.c 2007-05-29 07:31:43.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 +++ fuse.dev/kernel/inode.c 2007-05-29 07:29:42.000000000 +0100
@@ -858,12 +858,12 @@ @@ -858,12 +858,20 @@
if (err) if (err)
return err; return err;
#endif #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); err = subsystem_register(&fuse_subsys);
if (err) if (err)
goto out_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); err = subsystem_register(&connections_subsys);
if (err) if (err)
goto out_fuse_unregister; goto out_fuse_unregister;