bdev/virtio: don't allow registering the same target twice

Change-Id: I0c0b6cfded7fa2450c652c477ab8c1d88fc6209f
Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/392775
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
Dariusz Stojaczyk 2017-12-22 12:01:06 +01:00 committed by Ben Walker
parent c3cee7efe1
commit f217aa4667

View File

@ -1187,6 +1187,13 @@ virtio_scsi_dev_add_tgt(struct virtio_scsi_dev *svdev, struct virtio_scsi_scan_i
struct spdk_bdev *bdev;
int rc;
TAILQ_FOREACH(disk, &svdev->luns, link) {
if (disk->info.target == info->target) {
/* Target is already attached and param change is not supported */
return 0;
}
}
disk = calloc(1, sizeof(*disk));
if (disk == NULL) {
SPDK_ERRLOG("could not allocate disk\n");