提交 72475ac3 编写于 作者: P Peter Krempa

conf: Allow all volume modes for disk type='lun' sources

Commit 82ba4110 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'.
上级 0e8a72a5
......@@ -4145,27 +4145,19 @@ 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 ||
/* 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) ||
(disk->src->type == VIR_STORAGE_TYPE_VOLUME &&
disk->src->srcpool &&
disk->src->srcpool->mode !=
VIR_STORAGE_SOURCE_POOL_MODE_DIRECT))) {
disk->src->protocol == VIR_STORAGE_NET_PROTOCOL_ISCSI))) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("disk '%s' improperly configured for a "
"device='lun'"),
disk->dst);
"device='lun'"), disk->dst);
return -1;
}
}
if (disk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
virDomainDiskDefAssignAddress(xmlopt, disk, def) < 0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册