diff --git a/lib/scsi/dev.c b/lib/scsi/dev.c index e567b4033..6171c849e 100644 --- a/lib/scsi/dev.c +++ b/lib/scsi/dev.c @@ -411,11 +411,19 @@ spdk_scsi_dev_get_id(const struct spdk_scsi_dev *dev) struct spdk_scsi_lun * spdk_scsi_dev_get_lun(struct spdk_scsi_dev *dev, int lun_id) { + struct spdk_scsi_lun *lun; + if (lun_id < 0 || lun_id >= SPDK_SCSI_DEV_MAX_LUN) { return NULL; } - return dev->lun[lun_id]; + lun = dev->lun[lun_id]; + + if (lun != NULL && !spdk_scsi_lun_is_removing(lun)) { + return lun; + } else { + return NULL; + } } bool