[Ocfs2-users] 1.2.5 compile

Jeff Mahoney jeffm at suse.com
Thu Apr 12 12:01:45 PDT 2007


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

Randy Ramsdell wrote:
> Jeff Mahoney wrote:
>>>>     WARNING: "machine_restart"
>>>> [/root/src/ocfs2-1.2.5/fs/ocfs2/cluster/ocfs2_nodemanager.ko]
>> undefined!
>>
>> Well this part is important. You won't be able to use the resultant
>> module anyway. You'll need to replace that call with
>> emergency_restart(). machine_restart() doesn't exist in that kernel.
>>
> Yes I thought so. There are 2 other compile errors, but I didn't include
> those as they appear trivial.
> I fixed the above:
> 
> replaced machine_restart(NULL) with  emergency_restart() (Note the NULL)
> 
>>>> I will recompile 1.2.4 and see if these steps work there just in case I
>>>> missed something.
>> I'm able to reproduce this locally. It looks like what's happening is
>> that modprobe is retrieving the ocfs2 module from extra/ but not the
>> dependencies. It's loading the correct ocfs2.ko module, but loading
>> ocfs2_nodemanager.ko and ocfs2_dlm.ko from
>> kernel/fs/ocfs2/{cluster,dlm}. If I move the original modules away, it
>> works as expected. This is probably a bug in modprobe.
>>
>> Alternatively, you can use the SLES10 SP1 kernel, which already has
>> OCFS2 1.2.5 merged.
>>
>> -Jeff
>>
>> --
>> Jeff Mahoney
>> SUSE Labs
> Not sure about this.
> 
> 1.2.4 compiles and runs fine. I actually move the modules out of "extra"
> for both 1.2.4 and 1.2.5.
> 
> cp
> /lib/modules/2.6.16.27-0.6-smp/extra/ocfs2/cluster/ocfs2_nodemanager.ko
> /lib/modules/2.6.16.27-0.6-smp/kernel/fs/ocfs2/cluster/
> cp /lib/modules/2.6.16.27-0.6-smp/extra/ocfs2/dlm/ocfs2_dlm.ko
> /lib/modules/2.6.16.27-0.6-smp/kernel/fs/ocfs2/dlm/ocfs2_dlm.ko
> cp /lib/modules/2.6.16.27-0.6-smp/extra/ocfs2/dlm/ocfs2_dlmfs.ko
> /lib/modules/2.6.16.27-0.6-smp/kernel/fs/ocfs2/dlm/ocfs2_dlmfs.ko
> cp /lib/modules/2.6.16.27-0.6-smp/extra/ocfs2/ocfs2.ko
> /lib/modules/2.6.16.27-0.6-smp/kernel/fs/ocfs2/ocfs2.ko
> 
> This is the location where suse puts modules for stock kernel so I just
> deleted the old (in this case was 1.2.4 from a previous install) . I
> could as easily left them in "extra" and did to test  but the modules do
> not load in either location. How are you able to load the modules, even
> the work around doesn't work?
> 
> Basically, if I remove all the ocfs2 modules and replace them with the
> new compiled 1.2.5 in either location in mod. dir., I still get same
> errors on loading from init.d script o2cb or manually. I do not see how
> you are loading them at all or I am not sure about this. "If I move the
> original modules away, it
> works as expected."

I removed <modules>/kernel/fs/ocfs2/, ran depmod -a, and then modprobe
ocfs2. It worked for me. To be fair, I'm using the SLES10 environment,
but the 10.1 kernel is identical to the SLES10 GA kernel. I'm using
2.6.16.46-smp, which is the SLES10 SP1 kernel.

I have no idea how you're getting all these unresolved symbols if you're
building against the correct source tree.

- -Jeff

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

iD8DBQFGHoIZLPWxlyuTD7IRAvrfAJ9FSfwd8HF9Df7++wdC0gpXgEX2GwCgnwuy
ibBmp/Twj5f1Y4qEDFiM8T8=
=L+oS
-----END PGP SIGNATURE-----



More information about the Ocfs2-users mailing list