From cd8b5a3c867fa6aecbccc38a0041cff6faf242a8 Mon Sep 17 00:00:00 2001 From: "e.shishkov" Date: Wed, 10 Nov 2021 16:51:20 +0300 Subject: [PATCH] FIX: Cannot add inactive block-device with unexistent filename --- scst/src/dev_handlers/scst_vdisk.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scst/src/dev_handlers/scst_vdisk.c b/scst/src/dev_handlers/scst_vdisk.c index b2137e67a..ef0bec8ea 100644 --- a/scst/src/dev_handlers/scst_vdisk.c +++ b/scst/src/dev_handlers/scst_vdisk.c @@ -1347,6 +1347,12 @@ static int vdisk_open_fd(struct scst_vdisk_dev *virt_dev, bool read_only) virt_dev->bdev = blkdev_get_by_path(virt_dev->filename, virt_dev->bdev_mode, (void *)__func__); res = IS_ERR(virt_dev->bdev) ? PTR_ERR(virt_dev->bdev) : 0; + if ((!virt_dev->dev_active) && (res == -ENOENT)) + { + TRACE_MGMT_DBG("Skip opening for not active dev %s", + virt_dev->dev->virt_name); + res = -EMEDIUMTYPE; + } } else { virt_dev->fd = vdev_open_fd(virt_dev, virt_dev->filename, read_only);