RE: [PATCH 1/3] mpt2sas: Wait for port enable to get complete before reporting devices to OS.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday, September 05, 2010 10:35 AM, James Bottomley wrote:
> On Wed, 2010-08-04 at 14:04 +0530, Kashyap, Desai wrote:
> > Add support in driver so it will wait for discovery to complete
> > before returning from the send_port_enable routine.  There are some
> > cases where firmware is doing discovery after port enable completes.
> > When it does this, the driver will not have all the devices in the
> > sas_device_init_list list prior to calling the sort routine for
> reporting
> > boot devices to OS.
> >
> > This patch is required so the driver is waiting for all the events to
> > be processed in the hot plug worker thread prior to reporting them to
> the
> > OS.
> >
> > (1) The driver will wait for port enable to complete
> > (2) Wait for the first discovery stop event
> > (3) Wait an additional 500ms in case there are additional discoveries
> > (4) process device list -> reporting devcies to OS
> 
> Why is there any need to wait and sort at all?  If you just report the
> devices as hotplug sees them, boot will be much faster (especially for
> root devices).
> 

IMO, this patch is really needed. Without it you probably will not be able to boot after a fresh installation of OS when there are multiple drives.  The issue is Red Hat or SuSE is going to place the new OS on the first reported drive, e.g. /dev/sda.  This boot drive information is passed from the BIOS to the driver via a configuration page called bios page 2.  The driver needs to wait for all firmware to complete discovery, then search for boot device as indicated in the config page, then report it first.  Without the patch, there is no guarantee which drive or raid volume is getting reported first.  In other words the device driver could of reported bios drive located at 0x83 as /dev/sda, instead of 0x80, then when you reboot, the BIOS is not finding boot partition. The end user can select the boot device by going into the BIOS configuration utility; e.g. control C.

Eric




��.n��������+%������w��{.n�����{������ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux