Comment # 56 on bug 1036463 from
(In reply to Franck Bui from comment #55)
> Martin, has it been addressed eventually ? Thanks.
Not yet. It has slipped through. Sorry.

Documentation of the behavior, for future reference.
This was done with 4.17 (stable ddde22d).
All cases without sg in modules-load.d.

Case 1: sd compiled in, sg module, st module, no alias:

sg not autoloaded, modprobe on scsi-t:* doesn't load sg.

> $ modprobe --ignore-install --show-depends scsi:t-0x00
> modprobe: FATAL: Module scsi:t-0x00 not found in directory /lib/modules/4.17.2
> $ modprobe --ignore-install --show-depends scsi:t-0x01
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/st.ko

Case 2: sd compiled in, sg module, st module, alias in modprobe.d:

sg autoloaded late, when the udev rule for the scsi device is processed in
80-drivers.rules (MODALIAS=scsi:t-0x00). 

modprobe on scsi-t:* _only_ loads sg:

> $ modprobe --ignore-install --show-depends scsi:t-0x00
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sg.ko 
> $ modprobe --ignore-install --show-depends scsi:t-0x01
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sg.ko 

Case 3: sd compiled in, sg module, st module, compiled-in alias

sg autoloaded late, as in case 2. modprobe resolves deps correctly.

> $ modprobe --ignore-install --show-depends scsi:t-0x00
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sg.ko 
> $ modprobe --ignore-install --show-depends scsi:t-0x01
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/st.ko 
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sg.ko 

Case 4: sd and sg compiled in, no modalias (actually, it doesn't matter if
modalias is used in this case).

sg is initialized early (at the same time as sd_mod).

> $ modprobe --ignore-install --show-depends scsi:t-0x00
> modprobe: FATAL: Module scsi:t-0x00 not found in directory /lib/modules/4.17.2
> $ modprobe --ignore-install --show-depends scsi:t-0x01
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/st.ko 

Side note: if sg is compiled in, the bzImage size on x86_64 increases by 16kB,
which is ~0.2% of the current bzImage size. sg.ko (stripped) is ~55kB.

Case 5: sd and sg modules, no modalias

sg is not autoloaded. modprobe on scsi-t:* doesn't load sg.

> $ modprobe --ignore-install --show-depends scsi:t-0x00
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sd_mod.ko 
> $ modprobe --ignore-install --show-depends scsi:t-0x01
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/st.ko 

Case 6: sd and sg modules, modalias in modprobe.d

sg is autoloaded, but sd_mod is not. NO DISKS.

> $ modprobe --ignore-install --show-depends scsi:t-0x00
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sg.ko 
> $ modprobe --ignore-install --show-depends scsi:t-0x01
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sg.ko 

Case 7: sd and sg modules, built-in modalias

sd and sg are autloaded later than normal (during udev processing of SCSI
devices, as in case 2).

> $ modprobe --ignore-install --show-depends scsi:t-0x00
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sd_mod.ko 
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sg.ko 
> $ modprobe --ignore-install --show-depends scsi:t-0x01
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/st.ko 
> insmod /lib/modules/4.17.2/kernel/drivers/scsi/sg.ko 

Summary: case 2 and 6 (alias in modprobe.d) are garbage. Case 1 and 5 are the
current situation (sg not autoloaded). Case 4 (sg built-in) and 3 and 7
(built-in MODULE_ALIAS in sg.c as in comment 5) do the job.

This was known already, but I feel better having tested it for real.


You are receiving this mail because: