virsh: Don't generate invalid XML in attach-disk command

The attach-disk command used with parameter --cache created an invalid
XML snippet as the beginning of the <driver> element was not printed
when used solely with --cache and no other attribute to driver.
This commit is contained in:
Peter Krempa 2012-06-13 16:55:51 +02:00
parent 1f145b2f0f
commit 5b4740265c

View File

@ -14765,18 +14765,18 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd)
virBufferAddLit(&buf, " rawio='yes'");
virBufferAddLit(&buf, ">\n");
if (driver || subdriver)
if (driver || subdriver || cache) {
virBufferAsprintf(&buf, " <driver");
if (driver)
virBufferAsprintf(&buf, " name='%s'", driver);
if (subdriver)
virBufferAsprintf(&buf, " type='%s'", subdriver);
if (cache)
virBufferAsprintf(&buf, " cache='%s'", cache);
if (driver)
virBufferAsprintf(&buf, " name='%s'", driver);
if (subdriver)
virBufferAsprintf(&buf, " type='%s'", subdriver);
if (cache)
virBufferAsprintf(&buf, " cache='%s'", cache);
if (driver || subdriver || cache)
virBufferAddLit(&buf, "/>\n");
}
if (source)
virBufferAsprintf(&buf, " <source %s='%s'/>\n",