mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
conf: Allow all volume modes for disk type='lun' sources
Commit 82ba41108acd0f3f made possible to use direct mapped iSCSI volumes in qemu as disk sources but didn't remove the define time check. Rework the check by simplifying the condition and allow any volumes to be used with disk type='lun'.
This commit is contained in:
parent
0e8a72a5ef
commit
72475ac3b3
@ -4145,26 +4145,18 @@ virDomainDeviceDefPostParseInternal(virDomainDeviceDefPtr dev,
|
||||
}
|
||||
}
|
||||
|
||||
/* Validate LUN configuration
|
||||
* NOTE: virStorageTranslateDiskSourcePool is not run yet, so for
|
||||
* disk "volume"'s, the closest we can get at config time is
|
||||
* to ensure mode isn't direct since host/default will allow
|
||||
* lun/block usage. At run time if it's determined the wrong
|
||||
* voltype and pooltype values are set, then failure occurs
|
||||
*/
|
||||
if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN &&
|
||||
!(disk->src->type == VIR_STORAGE_TYPE_BLOCK ||
|
||||
(disk->src->type == VIR_STORAGE_TYPE_NETWORK &&
|
||||
disk->src->protocol == VIR_STORAGE_NET_PROTOCOL_ISCSI) ||
|
||||
(disk->src->type == VIR_STORAGE_TYPE_VOLUME &&
|
||||
disk->src->srcpool &&
|
||||
disk->src->srcpool->mode !=
|
||||
VIR_STORAGE_SOURCE_POOL_MODE_DIRECT))) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("disk '%s' improperly configured for a "
|
||||
"device='lun'"),
|
||||
disk->dst);
|
||||
return -1;
|
||||
/* Validate LUN configuration */
|
||||
if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) {
|
||||
/* volumes haven't been translated at this point, so accept them */
|
||||
if (!(disk->src->type == VIR_STORAGE_TYPE_BLOCK ||
|
||||
disk->src->type == VIR_STORAGE_TYPE_VOLUME ||
|
||||
(disk->src->type == VIR_STORAGE_TYPE_NETWORK &&
|
||||
disk->src->protocol == VIR_STORAGE_NET_PROTOCOL_ISCSI))) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
||||
_("disk '%s' improperly configured for a "
|
||||
"device='lun'"), disk->dst);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (disk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user