[DRBD-user] Kernel oops on create-md <RESOLVED>

Stef Morrell stef at aoc-uk.com
Thu Oct 15 18:38:26 CEST 2009

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


> -----Original Message-----
> From: drbd-user-bounces at lists.linbit.com 
> [mailto:drbd-user-bounces at lists.linbit.com] On Behalf Of Lars 
> Ellenberg
> Sent: 15 October 2009 16:26
> To: drbd-user at lists.linbit.com
> Subject: Re: [DRBD-user] Kernel oops on create-md
> 
> On Thu, Oct 15, 2009 at 03:17:40PM +0100, Stef Morrell wrote:
> > Hello,
> > 
> > > -----Original Message-----
> > > From: drbd-user-bounces at lists.linbit.com
> > > [mailto:drbd-user-bounces at lists.linbit.com] On Behalf Of Lars 
> > > Ellenberg
> > > Sent: 15 October 2009 14:25
> > > To: drbd-user at lists.linbit.com
> > > Subject: Re: [DRBD-user] Kernel oops on create-md
> > > 
> > > On Thu, Oct 15, 2009 at 02:10:54PM +0100, Stef Morrell wrote:
> > > > Hello,
> > > > 
> > > > I'm attempting to run drbd 8.3.4 against Linux 2.31.4. I'm
> > > making the
> > > > (possibly incorrect) assumption that from the Changelog,
> > > > 
> > > > 8.3.3
> > > >  * Following Linux upstream changes 2.6.31
> > > > 
> > > > that I'm ok on the 2.6.31 kernel series.
> > > > 
> > > > I've patched the kernel directly and can see from
> > > > 
> > > > root [ /sources/drbd-8.3.4 ]# cat /proc/drbd
> > > > version: 8.3.4 (api:88/proto:86-91)
> > > > GIT-hash: 70a645ae080411c87b4482a135847d69dc90a6a2 build by 
> > > > root at atuin-1, 2009-10-15 11:36:31
> > > > 
> > > > that the patch has been applied correctly.
> > > 
> > > Nope.
> > > 
> > > > My problem is that when I attempt to create the 
> metadata I get a 
> > > > kernel Oops, output of which is attached. I've also included my 
> > > > drbd.conf, very basic, but there you have it.
> > > > 
> > > > Problem is 100% reproduceable both on this machine and it's
> > > > (identical) counterpart which will (eventually) form the
> > > second node in the cluster.
> > > > 
> > > > I've wondered if it is a kernel compatibility problem,
> > > 
> > > Yes.
> > > 
> > > > I wonder if anyone can provide some advice?
> > > 
> > > You patched it wrong.  Sorry.
> > 
> > Do you mean that 2.6.31.4 isn't supported at all, or that 
> I've made a 
> > mistake in the patching process itself? (Log of patching process 
> > attached). If it is the kernel version, what is actually the latest 
> > which drbd supports?
> 
> I mean you patched it wrong.
> 
> > > If you get any compile warnings during the module build, 
> you got it 
> > > wrong again. So try again.
> > 
> > Yes. One compile warning - does seem to fit with the oops.
> > 
> > drivers/block/drbd/drbd_nl.c: In function 'drbd_nl_init':
> > drivers/block/drbd/drbd_nl.c:2380: warning: passing argument 3 of 
> > 'cn_add_callback' from incompatible pointer type
> 
> yep.
> 
> > root [ /sources/drbd-8.3.4 ]# make KDIR=/sources/linux-2.6.31.4 
> > kernel-patch
> 
> forget about that.
> _that_ is not supported.
> sometimes it works, sometime it does not.
> if it does not work, it does not work.
> 
> it may help if you do a "normal" out-of-tree module build, 
> before you generate the patch.  there is some automatic 
> adjustment of compatibility ifdefs going on.

This method works a treat. Building a standard kernel module first made
the following change in drbd_config.h

root [ /sources/drbd-8.3.4/drbd/linux ]# diff drbd_config.h
drbd_config.h.orig 
102c102
< //#define KERNEL_HAS_CN_SKB_PARMS
---
> #define KERNEL_HAS_CN_SKB_PARMS

Following that, a newly made kernel patch worked perfectly fine.

Many thanks.

Stef



More information about the drbd-user mailing list