[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.1.10.0907161017180.9159@asgard>
Date: Thu, 16 Jul 2009 10:22:34 -0700 (PDT)
From: david@...g.hm
To: Boaz Harrosh <bharrosh@...asas.com>
cc: linux-kernel <linux-kernel@...r.kernel.org>,
linux-scsi@...r.kernel.org
Subject: Re: deterministic scsi order with async scan
On Thu, 16 Jul 2009, Boaz Harrosh wrote:
> On 07/16/2009 04:09 AM, david@...g.hm wrote:
>> is there any way to get deterministic device ordering with scsi async
>> scanning?
>>
>> currently (2.6.30) it seems that the various scsi busses are loaded in the
>> order that they are detected, which can vary from boot to boot depending
>> on how long it takes for the card to initialize.
>>
>> would it be possible to detect the cards/drives, but not register them
>> until all the detection is complete so that they can be registered in a
>> deterministic order?
>>
>> having two drives on two different controllers swap positions from boot to
>> boot makes it very painful. yes I can make an initrd that fixes this up in
>> user space by examining each drive and creating links to re-order them,
>> but this is a lot of work to fix randomization that can be prevented in
>> the first place.
>>
>> David Lang
>
> It is highly discouraged to setup any kind of system that depends
> on device-names for block-devices. mounts have the mount by-label
> or mount by-uuid. Any other subsystem should go by /dev/disk/by-id/*
> slinks to find a persistent raw block-device. the id is generated
> from characteristics inside the disk itself so it will be the same
> no matter what host connection or bus it is connected too (almost).
>
> This is because even if the boot order is consistent, the device-name
> is so volatile in the life-span of a system. Did I boot with a removable
> USB inserted. that camera or printer was on or off, disk was connected
> to the other port. Any such change will break things and give you a very
> poor user experience.
for a laptop you areprobably correct, but for a server or embedded system
that doesn't have it's hardware changing all the time you are not correct.
especially on a system with lots of drives, why should I have to create an
initrd that goes and searches dozens or hundreds of drives to find out
which one to boot from?
I am building a system that will have two drives in a hardware mirror on
one SCSI card, and 160 drives on a FC (SCSI) card. why should my boot have
to go and examine all 162 drives to look for an ID on every partition just
to find the boot drive?
> I would say that "scsi async" is a grate blessing
it's great for startup time, but doing the async detection doesn't
_require_ doing async registration.
David Lang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists