Neil Brown wrote:
> 
> >
> > md_setup() is displaying the error due to failing on name_to_kdev_t().
> > root_dev_setup() calls name_to_kdev_t() with a long devfs name without a
> > problem, so that's not the issue directly.
> 
> Yes... this is all very ugly.
> root_dev_setup also stores the device name in root_device_name.
> And then when actualy mounting root in fs/super.c::mount_root,
> devfs_find_handle is called to map that name into a devfs object.
>
> So maybe md_setup should store names as well, and md_setup_drive
> should call devfs_find_handle like mount_root does.

md_setup_drive is never reached due to this error though.
As mentioned md_setup() and thus this error occur very early
(8 screens of text) before the md.c banner and the
acknowledgment of raid=noautodetect (aka raid_setup()).

So again my first thought is that because this is run before devfs
goes live, that is the reason name_to_kdev_t() is failing.

But I have not a clue on how I might change the order md_setup()
is linked, nor do I have a clue why it is run so much earlier then
raid_setup()???

I can try placing devfs_find_handle() in md_setup(), but I'm guessing that
will choke since it's run before devfs. (Or atleast before I see
the devfs banner). We'll see....
 
> But probably sticking with non-devfs names is easier.
> Was there a particular need to change to devfs naming?

To allow 'persistent binding' of devices.

The setup in question is a 3 host 13 drive 'basic' Fibre Channel SAN.
(Didn't you notice the targets ID's are 30 and 32?  ; > )
All hosts boot from the SAN and run Software RAID (2 as their root).

To keep from stepping on each others toes, all hosts mirror the
same raidtab and autodetect must be disabled to keep raid super
blocks from getting out of sync.

Everything has been running well. But the primary hurdle is drive letter
shift if I must move a device. If shift occurs, some or all of the hosts
just ain't gonna boot. It's been an uphill fight to fix this.

First, the qlogic qla2x00 driver was enumerating devices from 0 instead of
by id. After several weeks of talking with them and trying to get true
persitent binding working (Which locks an ID to the drives WWN) 
I finally figured out a fix to their driver to enumerate according
to actual device ID.

So now all should be all well and dandy, except for this turning up 
in the middle of my converting all the hosts over to devfs naming.
  : <
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]

Reply via email to