Source: aufs
Version: 0+20070716-1

Hello,
it would be nice to have a package with debian kernel patches for the
ksize and lhash patches, because you need them when you use NFS as branches.
The attached patch should provide such a package. It also includes a
mechanism, for aufs-source, to check if the kernel is patched. If the
kernel is patched the options CONFIG_AUFS_KSIZE_PATCH and
CONFIG_AUFS_LHASH_PATCH will be activated.

Thanks
  Frederik Werner
diff -r -u -N aufs-0+20070716.orgi/debian/control aufs-0+20070716/debian/control
--- aufs-0+20070716.orgi/debian/control	2007-08-01 13:38:56.000000000 +0000
+++ aufs-0+20070716/debian/control	2007-08-01 13:51:01.000000000 +0000
@@ -2,7 +2,7 @@
 Section: misc
 Priority: optional
 Maintainer: Julian Andres Klode <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>= 5), bzip2, dpatch
+Build-Depends: debhelper (>= 5), bzip2, dpatch, dh-kpatches (>= 0.99.15), grep
 Standards-Version: 3.7.2
 
 Package: aufs-tools
@@ -26,3 +26,16 @@
  This package provides the source code for the aufs kernel modules.
  The aufs package is also required in order to make use of these
  modules. Kernel source or headers are required to compile these modules.
+
+Package: kernel-patch-aufs
+Architecture: all
+Depends: ${kpatch:Depends}
+Suggests: linux-source, kernel-package, aufs-source
+Description: Kernel patches for aufs
+ This package provides the kernel patches lhash and ksize for aufs.
+ .
+ Aufs sometimes needs to re-allocate memory. If 'ksize' kernel internal
+ function is exported to modules, aufs runs efficiently in some cases.
+ .
+ If you use mounted NFS as an aufs branch filesystem, then you
+ need to apply the lhash patch to your kernel.
diff -r -u -N aufs-0+20070716.orgi/debian/kernel-patch-aufs.kpatches.ksize aufs-0+20070716/debian/kernel-patch-aufs.kpatches.ksize
--- aufs-0+20070716.orgi/debian/kernel-patch-aufs.kpatches.ksize	1970-01-01 00:00:00.000000000 +0000
+++ aufs-0+20070716/debian/kernel-patch-aufs.kpatches.ksize	2007-08-01 13:44:22.000000000 +0000
@@ -0,0 +1,8 @@
+Patch-name: aufs ksize
+Patch-id: ksize
+Architecture: all
+Path-strip-level: 0
+
+Patch-file: ksize.patch
+Kernel-version: 2.6.16 - 2.6.21
+
diff -r -u -N aufs-0+20070716.orgi/debian/kernel-patch-aufs.kpatches.lhash aufs-0+20070716/debian/kernel-patch-aufs.kpatches.lhash
--- aufs-0+20070716.orgi/debian/kernel-patch-aufs.kpatches.lhash	1970-01-01 00:00:00.000000000 +0000
+++ aufs-0+20070716/debian/kernel-patch-aufs.kpatches.lhash	2007-08-01 13:44:22.000000000 +0000
@@ -0,0 +1,11 @@
+Patch-name: aufs lhash
+Patch-id: lhash
+Architecture: all
+Path-strip-level: 0
+
+Patch-file: lhash-2.6.22.patch
+Kernel-version: 2.6.22
+
+Patch-file: lhash.patch
+Kernel-version: 2.6.16 - 2.6.21
+
diff -r -u -N aufs-0+20070716.orgi/debian/modules.mk aufs-0+20070716/debian/modules.mk
--- aufs-0+20070716.orgi/debian/modules.mk	2007-08-01 13:38:56.000000000 +0000
+++ aufs-0+20070716/debian/modules.mk	2007-08-01 13:43:30.000000000 +0000
@@ -12,5 +12,15 @@
 export CONFIG_AUFS_SYSAUFS  = y
 export EXTRA_CFLAGS        += -DCONFIG_AUFS_SYSAUFS
 endif
+# see for ksize patch
+ifneq (,$(shell grep '^.*[[:space:]]ksize[[:space:]]vmlinux[[:space:]]EXPORT_SYMBOL' $(KSRC)/Module.symvers))
+export CONFIG_AUFS_KSIZE_PATCH = y
+export EXTRA_CFLAGS        += -DCONFIG_AUFS_KSIZE_PATCH
+endif
+# see for lhash patch
+ifneq (,$(shell grep '^.*[[:space:]]__lookup_hash[[:space:]]vmlinux[[:space:]]EXPORT_SYMBOL' $(KSRC)/Module.symvers))
+export CONFIG_AUFS_LHASH_PATCH  = y
+export EXTRA_CFLAGS        += -DCONFIG_AUFS_LHASH_PATCH
+endif
 
 include $(M)/Makefile.upstream
diff -r -u -N aufs-0+20070716.orgi/debian/rules aufs-0+20070716/debian/rules
--- aufs-0+20070716.orgi/debian/rules	2007-08-01 13:38:56.000000000 +0000
+++ aufs-0+20070716/debian/rules	2007-08-01 13:43:56.000000000 +0000
@@ -24,6 +24,7 @@
                                     -DCONFIG_AUFS_BRANCH_MAX_127  -UCONFIG_AUFS \
                                     -DCONFIG_AUFS_MODULE -DCONFIG_AUFS_FAKE_DM
 
+
 # Disable sysaufs on ARM, as there is no cmpxchg
 ifneq ($(shell dpkg-architecture -qDEB_BUILD_ARCH),arm)
 export CONFIG_AUFS_SYSAUFS  = y
@@ -126,6 +127,9 @@
 	dh_clean -k
 	dh_installdirs
 
+	# Copy patches
+	dh_installkpatches
+
 	# Create the directories to install the source into
 	dh_installdirs -p$(psource) usr/src/modules/$(sname)/debian \
 				    usr/src/modules/$(sname)/fs \

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to