[ENBD] enbd module 2.6.13-15 kernel fails to modprobe or insmod
Peter T. Breuer
ptb at inv.it.uc3m.es
Tue Aug 8 11:48:41 MDT 2006
"Also sprach Norbert Pieroth:"
> Here is the compile log:
>=20
> gcc -I/usr/local/build/enbd-2.4.32/kernel/linux-2.6.x/include -Wp,-MD,=
/tmp/linux-2.6.x/drivers/block/enbd/.enbd_base.o.d -nostdinc -iwithprefix i=
nclude -D__KERNEL__ -Iinclude -D__KERNEL__ -Iinclude -Wall -Wstrict-proto=
types -Wno-trigraphs -fno-str=
ict-aliasing -fno-common -pipe -msoft-float -march=3Di586 -Iinclude/asm-=
i386/mach-default -O2 -fomit-frame-pointer -Wdeclaration-after-statement =
-DMODULE -I"/usr/local/build/enbd-2.4.32/kernel/linux-2.6.x/include" -DKBUI=
LD_BASENAME=3Denbd_base -DKBUILD_=
MODNAME=3Denbd -c -o /tmp/linux-2.6.x/drivers/block/enbd/.tmp_enbd_base.o /=
tmp/linux-2.6.x/drivers/block/enbd/enbd_base.c
> /tmp/linux-2.6.x/drivers/block/enbd/enbd_base.c:2829: warning: conflictin=
g types for built-in function log2
Well, we'd better do something about that! You have a builtin function
in your compiler with the same name as that local function! Rename the=20
one in this file to my_log2 (or do something fancy involving finding
out if there is a compiler function named like that ...). It's only
used in one place, so there are just two words to edit.
(maybe -ansi or -std=3Dc89 will also fix that, or -fno-builtin-log2).
> /tmp/linux-2.6.x/drivers/block/enbd/enbd_base.c: In function enbd_ioctl:
> /tmp/linux-2.6.x/drivers/block/enbd/enbd_base.c:4359: warning: pointer ta=
rgets in passing argument 1 of remote_ioctl->convert_inplace differ in sign=
edness
Forget it.
> /tmp/linux-2.6.x/drivers/block/enbd/enbd_base.c: At top level:
> /tmp/linux-2.6.x/drivers/block/enbd/enbd_base.c:4467: warning: enbd_read_=
block_0 defined but not used
Forget it.
That was all? Well, fix the log2 thing and see if it helps. It looks
too late for the init routine though! I'd also try with -O1 if the
log2 thing does not help.
> /usr/local/build/enbd-2.4.32/kernel/linux-2.6.x/include/linux/enbd_ioctl_=
table.h:761: warning: ignoring return value of =91copy_from_user=92, declar=
ed with attribute warn_unused_result
> /usr/local/build/enbd-2.4.32/kernel/linux-2.6.x/include/linux/enbd_ioctl_=
table.h: In function =91new_IO_copy_to_user=92:
> /usr/local/build/enbd-2.4.32/kernel/linux-2.6.x/include/linux/enbd_ioctl_=
table.h:776: warning: ignoring return value of =91copy_to_user=92, declared=
with attribute warn_unused_result
Uh. Thanks.
If that doesn't fix it, I'm afraid you'll have to put a few printk's in
the init routine in order to find what's wrong. Meanwhile, switch OFF
the DEBUG=3D1 option that you seem to be using for compilation - it may be
the problem.
Peter
More information about the ENBD
mailing list