open-iscsi is an iSCSI software, it has a userspace daemon(iscsid) and
a userspace mani tool(iscsiadm) and a kernel module
(scsi_transport_iscsi),
recently the kernel module has been accepted into the official kernel
release; since the module licensed with GPL, it could be compiled as
built-in,
but when I compiled the module within the bzImage, the problem appeared:
tux ~ # iscsid -f
iscsid: Missing or Invalid version from
/sys/module/scsi_transport_iscsi/version. Make sure a up to date
scsi_transport_iscsi module is loaded and a up todate version of
iscsid is running. Exiting...
this is just because iscsid hope there's an external module could be
under /sys/module, and read the kernel module's version information,
but if the module compiled built-in, all its module information
discarded and it doesn't appeared under /sys/module/, that would break
iscsid.
Now the problem is:
Should we provide module information under
/sys/module/<module-name>/... even if the module compiled built-in
with bzImage?
Or just this module(scsi_transport_iscsi) should be marked with [M] only?
if the former solution is preferred, I would be happy to work on
MODULE_INFO-like macros improvements with CONFIG_MODULE undefined.
--
Denis
Hi Denis.
> Should we provide module information under
> /sys/module/<module-name>/... even if the module compiled built-in
> with bzImage?
Absolutely. Module parameters (should) already do that, for example.
> Or just this module(scsi_transport_iscsi) should be marked with [M] only?
>
> if the former solution is preferred, I would be happy to work on
> MODULE_INFO-like macros improvements with CONFIG_MODULE undefined.
I'd love to see patches. module_parm showed it's possible, if messy.
Thanks!
Rusty.
I recall Magnus Damm did something in this respect.
Try to google a bit and see if you hit something that
can be used as inspiration.
I was maybe only for module parameters (autoparm was the name I think).
It is not a perfect fit but maybe a help.
Sam