cciss: Don't check h->busy_initializing in cciss_open().
Don't check h->busy_initializing in cciss_open(). Open won't be called before things are ready, but h->busy_initializing won't be unset until after the initial rebuild_lun_table is finished. But, to read the partitions, cciss_open will be called for each logical drive during rebuild_lun_table. If cciss_open checks h->busy_initializing, then the reading of the partition information during the initial rebuild_lun_table will fail, which is especially bad news if it happens to be your boot device. Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
Родитель
39ccf9a645
Коммит
2e043986d5
|
@ -830,7 +830,7 @@ static int cciss_open(struct block_device *bdev, fmode_t mode)
|
|||
printk(KERN_DEBUG "cciss_open %s\n", bdev->bd_disk->disk_name);
|
||||
#endif /* CCISS_DEBUG */
|
||||
|
||||
if (host->busy_initializing || drv->busy_configuring)
|
||||
if (drv->busy_configuring)
|
||||
return -EBUSY;
|
||||
/*
|
||||
* Root is allowed to open raw volume zero even if it's not configured
|
||||
|
|
Загрузка…
Ссылка в новой задаче