Fedora Core 5 seek errors in the initrd

Peter Jones pjones at redhat.com
Tue Mar 28 16:39:19 UTC 2006


On Tue, 2006-03-28 at 01:31 -0500, James Olson wrote:

> > >   In Fedora Core 4 they used to use udev in the initrd and you could
> > > prevent a partition scan with a modification to the udev rules file
> > > like:
> > > KERNEL=="hde*|hdf*|hdg*|sdb*|sdc*|sdd*", GOTO="persistent_end"
> > 
> > This doesn't prevent a partition scan; it just prevents the mknod
> > in /dev .
> It prevents udev from doing a partition scan.

The kernel does the partition scan on normal devices.  udev shouldn't be
doing it at all.

For dmraid devices, nash is doing it in the initrd after we create the
raid and remove the partitions on the normal drives.  You should see
something like this in the "init" file in the initrd itself:

...
echo Making device-mapper control node
mkdmnod
mkblkdevs
rmparts hda
rmparts hdb
dm create nvidia_dgjdieid 0 468883292 striped 2 128 8:0 0 8:16 0
dm partadd nvidia_dgjdieid
...

The last line there is scanning the partition table on the raid.


> > > in FC5 they use nash and the mkblkdevs command.   How can we prevent
> > >  nash from ever creating device nodes for drives we wish to hide from
> > > everything but dmraid?
> > 
> > You can't -- but that shouldn't be a problem.  When it creates the raid
> > device, it removes the partition devices from the original disks.  Is
> > that not happening for you?
> 
> My setup, I have Fedora Core installed on a SCSI drive, and I was
> merely booting it and when it sees my 3 raid drives on another
> interface card it seems to scan the partitions in the initrd point of
> the bootup.

Can you show me what it says?

>    I am not using volume labels in fstab or grub, just the /dev/sda3
> to specify the volume (of course mount would do a partition scan if it
> was searching for a volume label).

Thanks for the background, but it doesn't really answer the question --
I need to know exactly what the failure you're actually seeing is.

> > > The nash command rmparts seems to remove them but that is after the
> > > fact, and the errors occur I'm guessing right when the mkblkdevs
> > > command makes them.
> > 
> > There's nothing in mkblkdevs that performs any device access at all, so
> > that's probably not it.  At that point the kernel has already scanned
> > the partition table, exactly as it had in FC4.  So you're probably
> > seeing something after that.
> I downloaded mkinitrd src rpm.  Does mkblkdevs call functions in
> nash/block.c?  There is a volume label scan and a UUID scan function
> in it; I'm suspicious of that.

mkblkdevs walks /sys/block, and for every directory it finds with a
"dev" file and with "0" as the value in "removable", it creates a device
node in /dev .  That's all it does.

So something *after* the first call to mkblkdevs is causing the error.

-- 
  Peter




More information about the Ataraid-list mailing list