]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: core: Fix capacity set to zero after offlinining device
authorlijinlin <lijinlin3@huawei.com>
Tue, 27 Jul 2021 03:44:55 +0000 (11:44 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 30 Jul 2021 01:58:35 +0000 (21:58 -0400)
commit20ff3269c95f68876b4faaa875ad57a444964159
treea59189d4d303a8b7e84c4922e4b0b21116843a08
parent93f682c733ea4a9b5016ec5e94ffce2319547773
scsi: core: Fix capacity set to zero after offlinining device

After adding physical volumes to a volume group through vgextend, the
kernel will rescan the partitions. This in turn will cause the device
capacity to be queried.

If the device status is set to offline through sysfs at this time, READ
CAPACITY command will return a result which the host byte is
DID_NO_CONNECT, and the capacity of the device will be set to zero in
read_capacity_error(). After setting device status back to running, the
capacity of the device will remain stuck at zero.

Fix this issue by rescanning device when the device state changes to
SDEV_RUNNING.

Link: https://lore.kernel.org/r/20210727034455.1494960-1-lijinlin3@huawei.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: lijinlin <lijinlin3@huawei.com>
Signed-off-by: Wu Bo <wubo40@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_sysfs.c