From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8) Gecko/20060103 Fedora/1.5-4 Firefox/1.5
Description of problem:
Every time I boot up without any disk connected to the Firewire interface of my notebook, something (Kudzu?) removes the sbp2 entry from there, thus stopping the disks from working early in the boot, which is why I placed sbp2 there in the first place. Yes, I added that by hand myself, because not even the installer would add it (thus breaking raid 1 to the external disk on first boot), and then Kudzu removed it just because I connected the disk on USB. Why would it remove a line that I explicitly added myself, and insist in breaking my system every time I boot up?
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Add `alias scsi_hostadapter# sbp2' to /etc/modprobe.conf (replace # with any number you like that doens't match another entry in modprobe.conf)
2.Boot up without any Firewire devices plugged in
3.grep sbp2 /etc/modprobe.conf
Actual Results: No matches
Expected Results: Lines I added by hand should not be removed, ever!
It does it because without a firewire storage device added, there is no hardware
that uses sbp2 in the system. There's really no distinguishing of manually added
versus automatically added lines.
Why does this break? Surely sbp2 is autoloaded if a device is connected, is it not?
I'm not sure it is autoloaded if the device is connected when we boot up, I
think not. Anyway, the real problem is that I have raid 1 members in this
external disk, and so I need it to be brought up pretty early in the boot.
Which is why I add sbp2 to the list of needd scsi modules, and it'd better not
be removed. Is there anything I can do to my modprobes.conf to make sure it
never is, without stopping other potentially useful changes?
If it's not autoloaded when the device is connected at bootup, that's a udev
bug. With that fixed, the rest should fall out.
I just don't know, it's hard to tell because boot up fails for me if sbp2 is not
loaded early enough and certain disks are in the Firewire bus. I need sbp2 to
be loaded *always* by initrd, otherwise the raid devices holding even the root
filesystem won't be brought up properly (I'll lose mirrors if I'm lucky, and
fail to boot if I'm not). If kudzu does not offer means to stop it from
removing a line, something should be added such that one can do it.
Wait, this is your root FS?
mkinitrd should grab any adapters needed for your root FS, regardless of entries
in modprobe.conf (it should work without modprobe.conf entirely.)
Yes, and it does grab it *if* the disk is connected in Firewire. But sometimes
the disk is in USB (it supports both, call that manual multipath :-), and the
problem is *exactly* that, when I boot up with the disk connected to the USB
port, kudzu happily removes the entry that would enable the sbp2 module to be
included on the next (daily) kernel update, and then, if I boot up with the disk
on sbp2, it breaks the RAID.
Please stop trying to push the bug to some other component, the bug is that
kudzu removes a line that I added myself, and there should be a way to stop it
from doing so, if you really want it to do so by default.
OK, so you reconnect what your root raid is connected to between boots at
random? I hate to ask, but... why?
Changed in 1.2.19-1 to not configure or unconfigure storage adapters at all;
modprobe.conf should be solely for local customizations now.
Thanks for the fix. As to comment #7, I change the external disk between
Firewire and USB every now and then to make sure both are still working.
Sometimes I go on a trip and don't take the external disks with me, so I lose
the mirror, and then when I come back I never know which one I was using, but
why should it matter? I want to be able to have the external disks work no
matter which available interface I use to plug it in.