conf: Drop virDomainChrDeviceType.targetTypeAttr

This attribute was used to decide whether to format the type
attribute of the <target> element, but the logic didn't take into
account all possible cases and as such could lead to unexpected
results. Moreover, it's one more thing to keep track of, and can
easily fall out of sync with other attributes.

Now that we have VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_NONE, we can
use that value to signal that no specific target type has been
configured for the serial device and as such the attribute should
not be formatted at all. All other values are now formatted.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Andrea Bolognani 2017-11-10 14:54:19 +01:00
parent 6385c8c142
commit 4fb8ff9987
43 changed files with 56 additions and 61 deletions

View File

@ -11507,8 +11507,7 @@ virDomainChrDefaultTargetType(int devtype)
}
static int
virDomainChrTargetTypeFromString(virDomainChrDefPtr def,
int devtype,
virDomainChrTargetTypeFromString(int devtype,
const char *targetType)
{
int ret = -1;
@ -11536,8 +11535,6 @@ virDomainChrTargetTypeFromString(virDomainChrDefPtr def,
break;
}
def->targetTypeAttr = true;
return ret;
}
@ -11554,7 +11551,7 @@ virDomainChrDefParseTargetXML(virDomainChrDefPtr def,
char *stateStr = NULL;
if ((def->targetType =
virDomainChrTargetTypeFromString(def, def->deviceType,
virDomainChrTargetTypeFromString(def->deviceType,
targetType)) < 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("unknown target type '%s' specified for character device"),
@ -16474,7 +16471,7 @@ virDomainChrEquals(virDomainChrDefPtr src,
break;
case VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL:
if (src->targetTypeAttr != tgt->targetTypeAttr)
if (src->targetType != tgt->targetType)
return false;
ATTRIBUTE_FALLTHROUGH;
@ -24035,7 +24032,7 @@ virDomainChrDefFormat(virBufferPtr buf,
break;
case VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL:
if (def->targetTypeAttr) {
if (def->targetType != VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_NONE) {
virBufferAsprintf(buf,
"<target type='%s' port='%d'/>\n",
virDomainChrTargetTypeToString(def->deviceType,

View File

@ -1203,7 +1203,6 @@ struct _virDomainChrSourceDef {
struct _virDomainChrDef {
int deviceType; /* enum virDomainChrDeviceType */
bool targetTypeAttr;
int targetType; /* enum virDomainChrConsoleTargetType ||
enum virDomainChrChannelTargetType ||
enum virDomainChrSerialTargetType according to deviceType */

View File

@ -1191,7 +1191,6 @@ prlsdkGetSerialInfo(PRL_HANDLE serialPort, virDomainChrDefPtr chr)
int ret = -1;
chr->deviceType = VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL;
chr->targetTypeAttr = false;
pret = PrlVmDev_GetIndex(serialPort, &serialPortIndex);
prlsdkCheckRetGoto(pret, cleanup);
chr->target.port = serialPortIndex;
@ -2864,7 +2863,7 @@ static int prlsdkCheckSerialUnsupportedParams(virDomainChrDefPtr chr)
return -1;
}
if (chr->targetTypeAttr) {
if (chr->targetType != VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_NONE) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Specified character device target type is not "
"supported by vz driver."));

View File

@ -28,7 +28,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -29,7 +29,7 @@
</controller>
<serial type='dev'>
<source path='/dev/ttyS2'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='dev'>
<source path='/dev/ttyS2'/>

View File

@ -29,7 +29,7 @@
</controller>
<serial type='file'>
<source path='/tmp/serial.log'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='file'>
<source path='/tmp/serial.log'/>

View File

@ -28,11 +28,11 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<serial type='file'>
<source path='/tmp/serial.log'/>
<target port='1'/>
<target type='isa-serial' port='1'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -28,7 +28,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -30,7 +30,7 @@
<serial type='tcp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<protocol type='telnet'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='tcp'>
<source mode='bind' host='127.0.0.1' service='9999'/>

View File

@ -30,7 +30,7 @@
<serial type='tcp'>
<source mode='connect' host='127.0.0.1' service='9999'/>
<protocol type='raw'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='tcp'>
<source mode='connect' host='127.0.0.1' service='9999'/>

View File

@ -30,11 +30,11 @@
<serial type='udp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<source mode='connect' host='127.0.0.1' service='9998'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<serial type='udp'>
<source mode='connect' service='9999'/>
<target port='1'/>
<target type='isa-serial' port='1'/>
</serial>
<console type='udp'>
<source mode='bind' host='127.0.0.1' service='9999'/>

View File

@ -29,7 +29,7 @@
</controller>
<serial type='unix'>
<source mode='connect' path='/tmp/serial.sock'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='unix'>
<source mode='connect' path='/tmp/serial.sock'/>

View File

@ -28,7 +28,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<serial type='vc'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='vc'>
<target type='serial' port='0'/>

View File

@ -72,13 +72,13 @@
<alias name='serial0'/>
</serial>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
<alias name='serial1'/>
</serial>
<serial type='tcp'>
<source mode='bind' host='0.0.0.0' service='2445'/>
<protocol type='raw'/>
<target port='1'/>
<target type='isa-serial' port='1'/>
<alias name='serial2'/>
</serial>
<console type='pty'>

View File

@ -72,13 +72,13 @@
<alias name='serial0'/>
</serial>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
<alias name='serial1'/>
</serial>
<serial type='tcp'>
<source mode='bind' host='0.0.0.0' service='2445'/>
<protocol type='raw'/>
<target port='1'/>
<target type='isa-serial' port='1'/>
<alias name='serial2'/>
</serial>
<console type='pty'>

View File

@ -29,12 +29,12 @@
<serial type='udp'>
<source mode='bind' host='127.0.0.1' service='1111'/>
<source mode='connect' host='127.0.0.1' service='2222'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<serial type='tcp'>
<source mode='connect' host='127.0.0.1' service='5555' tls='no'/>
<protocol type='raw'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='udp'>
<source mode='bind' host='127.0.0.1' service='1111'/>

View File

@ -110,10 +110,10 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<serial type='pty'>
<target port='1'/>
<target type='isa-serial' port='1'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -33,7 +33,7 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -25,13 +25,13 @@
<source path='/tmp/serial.file'>
<seclabel model='dac' relabel='no'/>
</source>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<serial type='unix'>
<source mode='connect' path='/tmp/serial.sock'>
<seclabel model='dac' relabel='no'/>
</source>
<target port='1'/>
<target type='isa-serial' port='1'/>
</serial>
<console type='file'>
<source path='/tmp/serial.file'>

View File

@ -27,7 +27,7 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -28,7 +28,7 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -31,7 +31,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -30,7 +30,7 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -47,7 +47,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -104,10 +104,10 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<serial type='pty'>
<target port='1'/>
<target type='isa-serial' port='1'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -55,7 +55,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -44,7 +44,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -57,7 +57,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -54,7 +54,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -22,7 +22,7 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -25,7 +25,7 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -25,7 +25,7 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -26,7 +26,7 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -22,7 +22,7 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -22,7 +22,7 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -79,7 +79,7 @@
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -28,7 +28,7 @@
<controller type='pci' index='0' model='pci-root'/>
<serial type='spiceport'>
<source channel='org.qemu.console.serial.0'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='spiceport'>
<source channel='org.qemu.console.serial.0'/>

View File

@ -28,7 +28,7 @@
<controller type='pci' index='0' model='pci-root'/>
<serial type='spiceport'>
<source channel='org.qemu.console.serial.0'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='spiceport'>
<source channel='org.qemu.console.serial.0'/>

View File

@ -27,13 +27,13 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<serial type='null'>
<target port='1'/>
<target type='isa-serial' port='1'/>
</serial>
<serial type='stdio'>
<target port='2'/>
<target type='isa-serial' port='2'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -29,12 +29,12 @@
<serial type='udp'>
<source mode='bind' host='127.0.0.1' service='1111'/>
<source mode='connect' host='127.0.0.1' service='2222'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<serial type='tcp'>
<source mode='connect' host='127.0.0.1' service='5555'/>
<protocol type='raw'/>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='udp'>
<source mode='bind' host='127.0.0.1' service='1111'/>

View File

@ -42,7 +42,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -48,7 +48,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -46,7 +46,7 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
<target type='isa-serial' port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>