Package: aufs-source
Version: 0+20090302-2.1
Severity: wishlist

Hi

Trying to compile aufs-source 0+20090302-2.1 against kernel 
2.6.31(-rc5-git2) fails with the following error message:

$ mkdir -p /tmp/pkg/usr_src ; cd /tmp/pkg
$ wget 
http://ftp.debian.org/debian/pool/main/a/aufs/aufs-source_0+20090302-2.1_all.deb
[...]
$ dpkg -x aufs-source_0+20090302-2.1_all.deb .
$ tar -C usr_src/ -xjf usr/src/aufs.tar.bz2
$ LANG= MODULE_LOC=/tmp/pkg/usr_src/modules/ m-a -O --kvers-list $(uname -r) 
--kernel-dir /usr/src/linux-headers-$(uname -r)/ --userdir /tmp/pkg/ 
--text-mode build aufs
/usr/bin/make -C /usr/src/linux-headers-2.6.31-rc5-sidux-amd64/ 
M=/tmp/pkg/usr_src/modules/aufs clean
[...]
/usr/bin/make -C /usr/src/linux-headers-2.6.31-rc5-sidux-amd64/ 
M=/tmp/pkg/usr_src/modules/aufs modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.31-rc5-sidux-amd64'
[...]
  CC [M]  /tmp/pkg/usr_src/modules/aufs/export.o
/tmp/pkg/usr_src/modules/aufs/export.c: In function ‘au_do_mnt_get’:
/tmp/pkg/usr_src/modules/aufs/export.c:284: error: dereferencing pointer to 
incomplete type
make[3]: *** [/tmp/pkg/usr_src/modules/aufs/export.o] Error 1
make[2]: *** [_module_/tmp/pkg/usr_src/modules/aufs] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.31-rc5-sidux-amd64'
make[1]: *** [binary-modules] Error 2
make[1]: Leaving directory `/tmp/pkg/usr_src/modules/aufs'
make: *** [kdist_build] Error 2

The attached patch has been build- and runtime tested in a live CD 
environment, although without nfs on any of the branches, and is confirmed 
to work with 2.6.30 and 2.6.31(-rc5-git2).

While switching to the actively maintained aufs2 branch would indeed be a 
better option. I do not see any way to justify or avoid the excessive 
amount of symbol exports for kernel innards, which are totally inacceptable
for kernel upstream and likely debian-kernel as well. But maybe aufs v1 can
be kept on life support until VFS based unions mounts arrive mainline.

Regards
        Stefan Lippers-Hollmann

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.31-rc5-sidux-amd64 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages aufs-source depends on:
ii  bzip2                         1.0.5-3    high-quality block-sorting file co
ii  debhelper                     7.3.9      helper programs for debian/rules
ii  make                          3.81-6     An utility for Directing compilati
ii  module-assistant              0.11.1     tool to make module package creati

aufs-source recommends no packages.

aufs-source suggests no packages.

-- no debconf information
for kernel >= 2.6.31, we need to include linux/nsproxy.h to access 
current->nsproxy->mnt_ns.

Copyright: © 2009 Stefan Lippers-Hollmann <s....@gmx.de>

--- a/fs/aufs25/export.c
+++ b/fs/aufs25/export.c
@@ -26,6 +26,9 @@
 #include <linux/mnt_namespace.h>
 #include <linux/random.h>
 #include "aufs.h"
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 31)
+#include <linux/nsproxy.h>
+#endif
 
 union conv {
 #ifdef CONFIG_AUFS_INO_T_64

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to