Use a separate buffer for <controller><driver>

Make adding new attributes easier.
This commit is contained in:
Ján Tomko 2016-08-22 16:50:45 +02:00
parent d89803d27c
commit 5e5fc76625

View File

@ -21216,6 +21216,7 @@ virDomainControllerDefFormat(virBufferPtr buf,
const char *model = NULL; const char *model = NULL;
const char *modelName = NULL; const char *modelName = NULL;
bool pcihole64 = false, pciModel = false, pciTarget = false; bool pcihole64 = false, pciModel = false, pciTarget = false;
virBuffer driverBuf = VIR_BUFFER_INITIALIZER;
if (!type) { if (!type) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
@ -21320,26 +21321,26 @@ virDomainControllerDefFormat(virBufferPtr buf,
} }
} }
if (def->queues || def->cmd_per_lun ||
def->max_sectors || def->ioeventfd || def->iothread) {
virBufferAddLit(buf, "<driver");
if (def->queues) if (def->queues)
virBufferAsprintf(buf, " queues='%u'", def->queues); virBufferAsprintf(&driverBuf, " queues='%u'", def->queues);
if (def->cmd_per_lun) if (def->cmd_per_lun)
virBufferAsprintf(buf, " cmd_per_lun='%u'", def->cmd_per_lun); virBufferAsprintf(&driverBuf, " cmd_per_lun='%u'", def->cmd_per_lun);
if (def->max_sectors) if (def->max_sectors)
virBufferAsprintf(buf, " max_sectors='%u'", def->max_sectors); virBufferAsprintf(&driverBuf, " max_sectors='%u'", def->max_sectors);
if (def->ioeventfd) { if (def->ioeventfd) {
virBufferAsprintf(buf, " ioeventfd='%s'", virBufferAsprintf(&driverBuf, " ioeventfd='%s'",
virTristateSwitchTypeToString(def->ioeventfd)); virTristateSwitchTypeToString(def->ioeventfd));
} }
if (def->iothread) if (def->iothread)
virBufferAsprintf(buf, " iothread='%u'", def->iothread); virBufferAsprintf(&driverBuf, " iothread='%u'", def->iothread);
if (virBufferUse(&driverBuf)) {
virBufferAddLit(buf, "<driver");
virBufferAddBuffer(buf, &driverBuf);
virBufferAddLit(buf, "/>\n"); virBufferAddLit(buf, "/>\n");
} }