Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Hi all, probably my reply won't show up as a reply as I only just subscribed. Read the original message (11 june) in the archives. Sorry 'bout that. ==ORIGINAL MESSAGE PASTED FROM ARCHIVE: >Hi, > >Redhat recently release a new kernel version 2.6.9-11. > >Installing the new version gave me some nice problems, when i had to >recompile drbd (0.7.11). >Everything compiled nice and smooth (I have applied the #ifdef >TASK_ZOMBIE in drbd_int.h patch earlier) > >Loading the module resulted in > >Jun 11 17:00:10 b2 kernel: overflow in relocation type 10 val >ffffffffa01b71c0 >Jun 11 17:00:10 b2 kernel: `drbd' likely not compiled with >-mcmodel=kernel > >Adding -mcmodel=kernel in Makefil and everything compiles nice and >loads smooth again. > >Is this the correct workaround? > >My box is Dell PE2850 with a dual Xeon/EMT64 with 4GB of ram. >I running RHEL4(ES) x86_64 with a standard 2.6.9-11.Elsmp kernel. > >-Thomas ==END ORIGINAL MESSAGE I have a similar problem compiling a new kernelmodule (drbd-0.7.10) after I updated one of my RHEL4 servers yesterday. The new kernel rpm I am about to use is 2.6.9-11-smp, but I get the same error when I try to recompile against my old kernel (rpm: 2.6.9-5.0.5-smp). Therefore I suspect the problem may be related to other updates, like gcc. I am using the following to compile: - cd /usr/src/kernels/2.6.9-11.EL-smp-i686/ - make -s oldconfig - cd /usr/local/src/drbd-0.7.10 - make KDIR=/usr/src/kernels/2.6.9-11.EL-smp-i686/ .. the following error occurs (or well, i think this is the root): /usr/local/src/DRBD_heartbeat/drbd-0.7.10/drbd/drbd_int.h:1558: error: `TASK_ZOMBIE' undeclared (first use in this function) Reading the changelog I found: ... 0.7.6 (api:77/proto:74) ----- ... * Make DRBD work on Linux-2.6.10-rc2 and newer: Replaced sock_alloc() by sock_create(), replaced TASK_ZOMBIE by EXIT_ZOMBIE. ... Now... when I manually replace 'TASK_ZOMBIE' by 'EXIT_ZOMBIE' in drbd_int.h line 1558 and recompile on my drbd slave: - drdb compiles fine - the rpm (make rpm) compiles fine - the rpm installs fine - drbd loads fine - syncing is reported to work It still seems fine after two hours: [root at mysystem ~]# service drbd status drbd driver loaded OK; device status: version: 0.7.10 (api:77/proto:74) SVN Revision: 1743 build by root at mysystem, 2005-06-14 11:11:15 0: cs:Connected st:Secondary/Primary ld:Consistent ns:0 nr:146616 dw:146616 dr:0 al:0 bm:14 lo:0 pe:0 ua:0 ap:0 1: cs:Connected st:Secondary/Primary ld:Consistent ns:0 nr:901044 dw:901044 dr:0 al:0 bm:105 lo:0 pe:0 ua:0 ap:0 But can I be sure I won't run into trouble later on? It seems to me my kernel will need the 'EXIT_ZOMBIE' anyway. Maybe compilation now fails because the new gcc on my system is more picky and it now does bail over an undeclared 'TASK_ZOMBIE'? Or because of changes in the new glibc etc. on my system? Thomas refers in his message to 'TASK_ZOMBIE' patch that I assume deals with this issue, but I have been unable to locate that and I didn't need it before. Does anyone out there know whether it should be safe to do what I did? Where that patch is? Or even whether the 'TASK_ZOMBIE' bit that's still in the source is intentional --considering the changelog remarks? Cheers, Tim BTW: My system is a dual Xeon IBM xSeries (365) using a hardware raid controller (IBM ServeRAID) running the standard RHEL4 smp kernel.