Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 179085 - sys-fs/fuse-2.6.4-r1 compilation fails with 2.6.22
Summary: sys-fs/fuse-2.6.4-r1 compilation fails with 2.6.22
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Stefan Schweizer (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-19 11:08 UTC by Francois Chenier
Modified: 2007-05-20 07:45 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to fix fuse-2.6.4-r1 ebuild (fuse-2.6.4-r1.diff,1.58 KB, patch)
2007-05-19 12:04 UTC, Francois Chenier
Details | Diff
Updated patch for 2.6.22-rc2 (fuse-2.6.4-r1.diff,1.53 KB, patch)
2007-05-19 23:56 UTC, Francois Chenier
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Francois Chenier 2007-05-19 11:08:30 UTC
With recent changes in Linux kernel sys-fs/fuse refuse to compile. Here is a start to make a patch. Works fine and tested with sys-fs/ntfs3g-1.516 on vanilla-sources-2.6.22-rc1.

--- /var/tmp/portage/sys-fs/fuse-2.6.4-r1/work/fuse-2.6.4/kernel/file.c	2007-05-19 19:54:45.000000000 +0930
+++ /var/tmp/portage/sys-fs/fuse-2.6.4-r1/work/fuse-2.6.4/kernel/file.c	2007-05-19 19:58:40.000000000 +0930
@@ -781,7 +781,8 @@
 
 	if (cmd == F_GETLK) {
 		if (fc->no_lock) {
-#ifdef KERNEL_2_6_17_PLUS
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 17) && \
+		LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22)
 			if (!posix_test_lock(file, fl, fl))
 				fl->fl_type = F_UNLCK;
 #else
--- /var/tmp/portage/sys-fs/fuse-2.6.4-r1/work/fuse-2.6.4/kernel/inode.c	2007-05-19 20:04:35.000000000 +0930
+++ /var/tmp/portage/sys-fs/fuse-2.6.4-r1/work/fuse-2.6.4/kernel/inode.c	2007-05-19 20:20:14.000000000 +0930
@@ -809,9 +809,14 @@
 {
 	struct inode * inode = foo;
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+	if ((flags & (SLAB_CTOR_CONSTRUCTOR)) == SLAB_CTOR_CONSTRUCTOR)
+		inode_init_once(inode);
+#else
 	if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) ==
 	    SLAB_CTOR_CONSTRUCTOR)
 		inode_init_once(inode);
+#endif
 }
 
 static int __init fuse_fs_init(void)
@@ -860,12 +865,20 @@
 	if (err)
 		return err;
 #endif
+#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;
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
+	kobj_set_kset_s(&fuse_subsys, fs_subsys);
+#else
 	kset_set_kset_s(&connections_subsys, fuse_subsys);
+#endif
 	err = subsystem_register(&connections_subsys);
 	if (err)
 		goto out_fuse_unregister;
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2007-05-19 11:17:01 UTC
Please, don't paste patches inline.
Comment 2 Francois Chenier 2007-05-19 12:04:10 UTC
Created attachment 119687 [details, diff]
Patch to fix fuse-2.6.4-r1 ebuild

Sorry. Here is again.
Comment 3 Francois Chenier 2007-05-19 23:56:57 UTC
Created attachment 119757 [details, diff]
Updated patch for 2.6.22-rc2
Comment 4 Stefan Schweizer (RETIRED) gentoo-dev 2007-05-20 07:45:03 UTC
thank you, I committed this!