mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-07-07 18:35:46 +00:00
virDomainHostdevSubsysSCSI: Convert 'protocol' field to proper enum type
Convert the field and adjust the XML parser to use virXMLPropEnum(). Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
f7534c2573
commit
d537f203b9
@ -6065,20 +6065,14 @@ virDomainHostdevSubsysSCSIDefParseXML(xmlNodePtr sourcenode,
|
|||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
virDomainXMLOption *xmlopt)
|
virDomainXMLOption *xmlopt)
|
||||||
{
|
{
|
||||||
g_autofree char *protocol = NULL;
|
if (virXMLPropEnum(sourcenode, "protocol",
|
||||||
|
virDomainHostdevSubsysSCSIProtocolTypeFromString,
|
||||||
if ((protocol = virXMLPropString(sourcenode, "protocol"))) {
|
VIR_XML_PROP_NONE,
|
||||||
scsisrc->protocol =
|
&scsisrc->protocol) < 0) {
|
||||||
virDomainHostdevSubsysSCSIProtocolTypeFromString(protocol);
|
return -1;
|
||||||
if (scsisrc->protocol < 0) {
|
|
||||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
|
|
||||||
_("Unknown SCSI subsystem protocol '%1$s'"),
|
|
||||||
protocol);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) {
|
switch (scsisrc->protocol) {
|
||||||
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
||||||
return virDomainHostdevSubsysSCSIHostDefParseXML(sourcenode, ctxt, scsisrc,
|
return virDomainHostdevSubsysSCSIHostDefParseXML(sourcenode, ctxt, scsisrc,
|
||||||
flags, xmlopt);
|
flags, xmlopt);
|
||||||
|
@ -273,7 +273,7 @@ typedef enum {
|
|||||||
} virDomainDeviceSGIO;
|
} virDomainDeviceSGIO;
|
||||||
|
|
||||||
struct _virDomainHostdevSubsysSCSI {
|
struct _virDomainHostdevSubsysSCSI {
|
||||||
int protocol; /* enum virDomainHostdevSCSIProtocolType */
|
virDomainHostdevSCSIProtocolType protocol;
|
||||||
virDomainDeviceSGIO sgio;
|
virDomainDeviceSGIO sgio;
|
||||||
virTristateBool rawio;
|
virTristateBool rawio;
|
||||||
union {
|
union {
|
||||||
|
@ -5033,7 +5033,7 @@ qemuBuildHostdevSCSIDetachPrepare(virDomainHostdevDef *hostdev,
|
|||||||
virStorageSource *src;
|
virStorageSource *src;
|
||||||
qemuDomainStorageSourcePrivate *srcpriv;
|
qemuDomainStorageSourcePrivate *srcpriv;
|
||||||
|
|
||||||
switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) {
|
switch (scsisrc->protocol) {
|
||||||
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
||||||
src = scsisrc->u.host.src;
|
src = scsisrc->u.host.src;
|
||||||
break;
|
break;
|
||||||
@ -5068,7 +5068,7 @@ qemuBuildHostdevSCSIAttachPrepare(virDomainHostdevDef *hostdev,
|
|||||||
g_autoptr(qemuBlockStorageSourceAttachData) ret = g_new0(qemuBlockStorageSourceAttachData, 1);
|
g_autoptr(qemuBlockStorageSourceAttachData) ret = g_new0(qemuBlockStorageSourceAttachData, 1);
|
||||||
virStorageSource *src = NULL;
|
virStorageSource *src = NULL;
|
||||||
|
|
||||||
switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) {
|
switch (scsisrc->protocol) {
|
||||||
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
||||||
src = scsisrc->u.host.src;
|
src = scsisrc->u.host.src;
|
||||||
break;
|
break;
|
||||||
|
@ -6008,7 +6008,7 @@ qemuDomainDeviceHostdevDefPostParseRestoreBackendAlias(virDomainHostdevDef *host
|
|||||||
hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI)
|
hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) {
|
switch (scsisrc->protocol) {
|
||||||
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
||||||
if (!scsisrc->u.host.src)
|
if (!scsisrc->u.host.src)
|
||||||
scsisrc->u.host.src = virStorageSourceNew();
|
scsisrc->u.host.src = virStorageSourceNew();
|
||||||
@ -11373,7 +11373,7 @@ qemuDomainPrepareHostdevSCSI(virDomainHostdevDef *hostdev,
|
|||||||
virStorageSource *src = NULL;
|
virStorageSource *src = NULL;
|
||||||
g_autofree char *devstr = NULL;
|
g_autofree char *devstr = NULL;
|
||||||
|
|
||||||
switch ((virDomainHostdevSCSIProtocolType) scsisrc->protocol) {
|
switch (scsisrc->protocol) {
|
||||||
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
case VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_NONE:
|
||||||
virObjectUnref(scsisrc->u.host.src);
|
virObjectUnref(scsisrc->u.host.src);
|
||||||
scsisrc->u.host.src = virStorageSourceNew();
|
scsisrc->u.host.src = virStorageSourceNew();
|
||||||
|
Loading…
Reference in New Issue
Block a user