[ENBD] FR1-2.15b and unknown symbol __udivdi3

Graham Clinch g.clinch at lancaster.ac.uk
Thu Feb 16 18:19:29 MST 2006


Hi List,

I've tried to use the FR1-2.15b patch against 2.6.8, and the patch  
applies happily, and indeed, compiles happily.  However, when I try  
to modprobe md:

dtfsa301:~# modprobe md
FATAL: Error inserting md (/lib/modules/2.6.8/kernel/drivers/md/ 
md.ko): Unknown symbol in module, or unknown parameter (see dmesg)

dmesg then shows:

md: Unknown symbol __udivdi3


This looks similar to the issue from a month or so ago
(Subj: [ENBD] [gmane.network.aoe.aoetools.general] enbd and 4TB)
so I set out hunting for divisions used within the patch, but I can't  
find anything obvious.

dtfsa301:~# nm /lib/modules/2.6.8/kernel/drivers/md/md.ko | grep udiv
          U __udivdi3
dtfsa301:~#

So it's definitely somewhere within md, rather than a dependency.

Actually, might it be the line

disk_events <<= 32;

(Line 1786 of the patch), as guess the compiler (gcc version 3.3.5  
(Debian 1:3.3.5-13)) may be optimizing it to a lot of divide-by- 
twos.  My C is rusty, so even if it is this line, I'm not sure what  
would make a good fixup..

I've tried using md (raid1) without the FR1 patch applied, and  
everything seems happy, the module loads and I can control arrays, so  
I'm guessing it's got to be somewhere in the patch

Any hints welcome!

Thanks,
Graham




More information about the ENBD mailing list