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