[Drbd-dev] make KDIR=... kernel-patch fails

Andreas John lists at aj.net-lab.net
Fri Mar 9 23:16:23 CET 2007


Hello,
I try to patch drbd into the kernel. IIRC this is not longer possible
since late 0.7.x released (>=.22 ??).

Currently even on 8.0.0 and 8.0.1 the helper scrips fails on a 2.6.20.1:

----
buildbox-etch:/usr/src/linux-vserver/linux-2.6.20.1/drbd-8.0.1# make
KDIR=/usr/src/linux-vserver/linux-2.6.20.1 kernel-patch
make -C drbd drbd_buildtag.c
make[1]: Entering directory
`/usr/src/linux-vserver/linux-2.6.20.1/drbd-8.0.1/drbd'
make[1]: Leaving directory
`/usr/src/linux-vserver/linux-2.6.20.1/drbd-8.0.1/drbd'
set -o errexit; \
        kbase=$(basename /usr/src/linux-vserver/linux-2.6.20.1); \
        d=patch-$kbase-drbd-8.0.1; \
        test -e $d && cp -fav --backup=numbered $d $d; \
        bash scripts/patch-kernel /usr/src/linux-vserver/linux-2.6.20.1
. > $d
rm: cannot remove `linux-2.6.20.1-drbd/drivers/block/drbd/mempool*': No
such file or directory
make: *** [kernel-patch] Error 1
-----

I can supress the error by patching two lines in the
scripts/patch-kernel script:


-------
--- scripts/patch-kernel.sav    2007-02-25 16:25:42.000000000 +0100
+++ scripts/patch-kernel        2007-02-25 16:26:02.000000000 +0100
@@ -100,9 +100,10 @@
 cp -a $DRBD/drbd/Makefile-2.$KDIR_PATCHLEVEL  $DRBD_SUB/Makefile

 # remove some backports
-test "$KDIR_PATCHLEVEL" = 6 && rm $DRBD_SUB/mempool*
+# remove some backports
+test "$KDIR_PATCHLEVEL" = 6 && if [ -e $DRBD_SUB/mempool* ]; then rm
$DRBD_SUB/mempool*; fi
 grep "HLIST_HEAD_INIT" $KERNEL/include/linux/list.h >/dev/null &&
-       rm $DRBD_SUB/hlist.h
+        if [ -e $DRBD_SUB/hlist.h ]; then rm $DRBD_SUB/hlist.h; fi

 # disable __arch_um__ to_virt() hack
 sed -e 's/^#ifdef __arch_um__/#if 0/' \
---------

The generated patch applies fine, but when compiling the kernel with
drdb as module, the compile runs fails. I assume some part of the patch
is missing.

Kernel Hacking is out-of-scope of my skills, so I simply report here
what I found out.

rgds,
Andreas





More information about the drbd-dev mailing list