[Ocfs2-users] 1.2.5 compile

Randy Ramsdell rramsdell at livedatagroup.com
Thu Apr 12 12:34:04 PDT 2007


Jeff Mahoney wrote:
> 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
>

Yep It is weird especially since I can compile/install the EXACT same
way with 1.2.4 on the same box and it works fine. I don't get it. I did,
however, use the kernel you mentioned and it works, but we have
standardized on one kernel which I am trying to use since it also has a
my compiled iscsi drivers that I am testing too. I could have them use
another kernel for ocfs2 nodes however, but I REALLY want to figure this
out either way.

Thanks for your input.

RCR



More information about the Ocfs2-users mailing list