When building for Mips64, unionfs is breaking the 2.6.36 kernel build:

fs/unionfs/commonfops.c:746:4: error: too many arguments to function lower_file->f_op->compat_ioctl
make[2]: *** [fs/unionfs/commonfops.o] Error 1


In googleing on this, problem is described here:
http://www.fsl.cs.sunysb.edu/pipermail/unionfs/2010-October/006073.html
Patch came from here:
http://www.fsl.cs.sunysb.edu/pipermail/unionfs/attachments/20101027/fdb6761a/attachment.bin

Have to patch the above into the kernel, after the unionfs patch is applied:
----------------------------------------------------------------------

Index: package/filesystem/unionfs/unionfs-linux-2.6.36.diff.fix
===================================================================
--- package/filesystem/unionfs/unionfs-linux-2.6.36.diff.fix    (revision 0)
+++ package/filesystem/unionfs/unionfs-linux-2.6.36.diff.fix    (revision 0)
@@ -0,0 +1,15 @@
+diff -purN orig/fs/unionfs/commonfops.c linux-2.6.36/fs/unionfs/commonfops.c
+--- orig/fs/unionfs/commonfops.c       2010-10-21 16:29:51.033693283 -0400
++++ linux-2.6.36/fs/unionfs/commonfops.c       2010-10-27 10:15:30.337131546 
-0400
+@@ -740,10 +740,8 @@ static long do_ioctl(struct file *file,
+       if (lower_file->f_op->unlocked_ioctl) {
+               err = lower_file->f_op->unlocked_ioctl(lower_file, cmd, arg);
+ #ifdef CONFIG_COMPAT
+-      } else if (lower_file->f_op->ioctl) {
+-              err = lower_file->f_op->compat_ioctl(
+-                      lower_file->f_path.dentry->d_inode,
+-                      lower_file, cmd, arg);
++      } else if (lower_file->f_op->compat_ioctl) {
++              err = lower_file->f_op->compat_ioctl(lower_file, cmd, arg);
+ #endif
+       }


Index: package/filesystem/unionfs/pkg_linux_pre.conf
===================================================================
--- package/filesystem/unionfs/pkg_linux_pre.conf       (revision 38262)
+++ package/filesystem/unionfs/pkg_linux_pre.conf       (working copy)
@@ -18,12 +18,14 @@
         mkdir unionfs-tmp; cd unionfs-tmp

        bunzip2 < `match_source_file -p unionfs-2 unionfs` > patch
+       cp $base/package/*/unionfs/unionfs-linux-2.6.36.diff.fix .
         for x in $base/package/*/unionfs/*.diff; do
                 [ -e "$x" ] && patch $patchopt < $x
                 rm -rf *orig # backup files we do not want to apply
         done
         cd ..
         var_append patchfiles ' ' "$PWD/unionfs-tmp/patch"
+        var_append patchfiles ' ' 
"$PWD/unionfs-tmp/unionfs-linux-2.6.36.diff.fix"
 }
 hook_add prepatch 1 unionfs_prepatch



----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

Reply via email to