[DRBD-user] Kernel Oops: 0002 again after reboot...

Lars Ellenberg Lars.Ellenberg at linbit.com
Tue Aug 31 20:39:52 CEST 2004


/ 2004-08-31 14:24:37 -0400
\ Dan Didier:
> > > I told you to DISABLE SENDPAGE.
> > 
> > Lars, I'm sorry, I looked through your previous messages and 
> > I did not see where you said to DISABLE SENDPAGE.

hm. then I mixed up with that other, but probably related thread...

> > I am assuming this is a setting in the 0.7.3 drbd_config.h file?
> > I'm not sure how to disable it... I'm not that familiar.
> 
> OK, found this in one of your other posts:
> 
> please disable tcp_sendpage altogether, and verify if this helped. 
> i.e., get a fresh svn checkout, 
> and define DRBD_DISALE_SENDPAGE in drbd_config.h ... 
> 
> Enabled that in 0.7.3 and I try to compile:
> 
> In file included from drbd_worker.c:38:
> /usr/src/linux-2.4.20-8/include/linux/mm_inline.h:28: warning:
> initialization makes integer from pointer without a cast
> /usr/src/linux-2.4.20-8/include/linux/mm_inline.h:28: initializer
> element is not computable at load time
> make[3]: *** [drbd_worker.o] Error 1
> make[3]: Leaving directory `/var/src/drbd-0.7.3/drbd'
> make[2]: *** [_mod_/var/src/drbd-0.7.3/drbd] Error 2
> make[2]: Leaving directory `/usr/src/linux-2.4.20-8'
> make[1]: *** [kbuild] Error 2
> make[1]: Leaving directory `/var/src/drbd-0.7.3/drbd'
> make: *** [all] Error 2
> 
> I know you gave me some input on this in a previous message, but my
> compiler has worked up until this point, and I'm assuming sincd 0.7.2
> worked, this should too??????

in principle, yes :-/
please give me the context (mm_inline.h around line 28).

does a make mrproper in the kernel source tree help?
  (you'd need to copy in the correct .config,
   make oldconfig, make dep, that sort of stuff afterwards again, too)

or, use the version of drbd that currently works for you,
and (as I wrote in some other post already):

  seemingly we have an issue with 2.4. code.
  maybe we just forgot to update some of the endless #if/#endif branches
  for 2.4. with fixes that only went into some 2.6. branches.
  maybe it is not as easy as that. I don't know yet.
  
  for now, you could simply find in drbd_main.c, in function
  _drbd_send_page the line (ca 940) where it says
  
          if ( (page_count(page) < 1) || PageSlab(page) ) {
  
  
  and replace that with
          if ( 1 ) {
  
  thanks.
  

now, recompile, install, and of course _reload_ the drbd module!

hth,
	Lars Ellenberg



More information about the drbd-user mailing list