[Ocfs2-users] 1.2.5 compile

Jeff Mahoney jeffm at suse.com
Wed Apr 11 14:15:42 PDT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sunil Mushran wrote:
> Change machine_restart() to emergency_restart() in
> fs/ocfs2/cluster/quorum.c
> 
> Randy Ramsdell wrote:
>> Randy Ramsdell wrote:
>>  
>>> Yes It does but during the compile I see the process enter into the
>>> correct location and the method used was the same for 1.2.4.
>>>
>>> Here are the steps I used for 1.2.4 and 1.2.5 :
>>>
>>> ./configure --with-kernel-source=/usr/src/linux
>>>
>>>     ls -l /usr/src:
>>>     linux -> linux-2.6.16.27-0.6
>>>     linux-obj -> linux-2.6.16.27-0.6-obj
>>>
>>>     uname -a :
>>>     dfb02010313 2.6.16.27-0.6-smp #1 SMP Wed Dec 13 09:34:50 UTC 2006
>>> i686 i686 i386 GNU/Linux
>>>
>>> make :
>>>
>>>     make[2]: Leaving directory `/root/src/ocfs2-1.2.5/fs/ocfs2/dlm'
>>>     make -C /lib/modules/2.6.16.27-0.6-smp/build
>>> M=/root/src/ocfs2-1.2.5/fs modules
>>>     make[2]: Entering directory
>>> `/usr/src/linux-2.6.16.27-0.6-obj/i386/smp'
>>>     make -C ../../../linux-2.6.16.27-0.6
>>> O=../linux-2.6.16.27-0.6-obj/i386/smp modules
>>>     <snip compiling objects>
>>>     WARNING: "machine_restart"
>>> [/root/src/ocfs2-1.2.5/fs/ocfs2/cluster/ocfs2_nodemanager.ko] undefined!
>>>     </snip compiling objects>
>>>       CC     
>>> /root/src/ocfs2-1.2.5/fs/ocfs2/cluster/ocfs2_nodemanager.mod.o
>>>       LD [M] 
>>> /root/src/ocfs2-1.2.5/fs/ocfs2/cluster/ocfs2_nodemanager.ko
>>>       CC      /root/src/ocfs2-1.2.5/fs/ocfs2/dlm/ocfs2_dlm.mod.o
>>>       LD [M]  /root/src/ocfs2-1.2.5/fs/ocfs2/dlm/ocfs2_dlm.ko
>>>       CC      /root/src/ocfs2-1.2.5/fs/ocfs2/dlm/ocfs2_dlmfs.mod.o
>>>       LD [M]  /root/src/ocfs2-1.2.5/fs/ocfs2/dlm/ocfs2_dlmfs.ko
>>>       CC      /root/src/ocfs2-1.2.5/fs/ocfs2/ocfs2.mod.o
>>>       LD [M]  /root/src/ocfs2-1.2.5/fs/ocfs2/ocfs2.ko
>>>     make[2]: Leaving directory
>>> `/usr/src/linux-2.6.16.27-0.6-obj/i386/smp'
>>>
>>> >From this, it appears to be compiling against the correct kernel.
>>>
>>> make install:
>>>
>>> <snip>
>>>
>>>     make -C fs install
>>>     make[1]: Entering directory `/root/src/ocfs2-1.2.5/fs'
>>>     make -C /lib/modules/2.6.16.27-0.6-smp/build
>>> M=/root/src/ocfs2-1.2.5/fs modules_install
>>>     make[2]: Entering directory
>>> `/usr/src/linux-2.6.16.27-0.6-obj/i386/smp'
>>>     make -C ../../../linux-2.6.16.27-0.6
>>> O=../linux-2.6.16.27-0.6-obj/i386/smp modules_install
>>>       INSTALL
>>> /root/src/ocfs2-1.2.5/fs/ocfs2/cluster/ocfs2_nodemanager.ko
>>>       INSTALL /root/src/ocfs2-1.2.5/fs/ocfs2/dlm/ocfs2_dlm.ko
>>>       INSTALL /root/src/ocfs2-1.2.5/fs/ocfs2/dlm/ocfs2_dlmfs.ko
>>>       INSTALL /root/src/ocfs2-1.2.5/fs/ocfs2/ocfs2.ko
>>>       DEPMOD  2.6.16.27-0.6-smp
>>>
>>> Again, it looks like it compiled against correct kernel. Also note that
>>> it called "depmod" and that the modules are copied to the correct
>>> locations with the
>>>
>>> To me this all looks legit except  that I did not  add a  configure
>>> option for the "smp" part which I have had to do with other packages.
>>> E.G. open-iscsi
>>>  
>>> Am I missing something or what changed since last release?
>>> Can you compile this and it works ?
>>>
>>> I will recompile 1.2.4 and see if these steps work there just in case I
>>> missed something.
>>>
>>> Randy Ramsdell
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Ocfs2-users mailing list
>>> Ocfs2-users at oss.oracle.com
>>> http://oss.oracle.com/mailman/listinfo/ocfs2-users
>>>       
>> Confirmed.
>>
>> 1.2.4 compiles and loads just fine with these exact same steps.
>> Therefore something changed on the ocfs2 side that broke the compile
>> steps. What are the new steps needed to compile 1.2.5 so that there
>> aren't any kernel symbol issues?

This is by luck. The emergency_restart change won't help here. The
problem is a bug in depmod where it will look in /lib/modules/`uname
- -r`/extra for override modules, but won't scan for its dependencies
there. The result is that he's using the OCFS2 v1.2.5 ocfs2.ko, but the
SUSE Linux 10.1 ocfs2_nodemanager.ko and ocfs2_dlm.ko modules.

I've reported the depmod bug to our Bugzilla, but in the meantime his
options are to move the old OCFS2 modules out of the way, or use the
SLES 10 SP1 kernel from
ftp://ftp.suse.com/pub/projects/kernel/kotd/sle10-sp-i386/SLES10_SP1_BRANCH.
The SP1 kernel includes OCFS2 1.2.5 with a few changes. I've restored
the old panic-on-fence behavior as the default, and it contains the
userspace cluster patches.

- -Jeff

- --
Jeff Mahoney
SUSE Labs
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFGHU/+LPWxlyuTD7IRAosTAKCZFUiFEmpLZ32z7WCPXzEGmpGG0ACePQKi
UkY9pkIOwh7zHOPTCrtu8LY=
=zgu8
-----END PGP SIGNATURE-----



More information about the Ocfs2-users mailing list