VIR_FREE(data->qemufilename);
+ VIR_FREE(data->drvformat);
+ VIR_FREE(data->drvstorage);
+
qemuBlockNodeNameBackingChainDataFree(data->backing);
VIR_FREE(data);
virJSONValuePtr parentnodedata;
virJSONValuePtr nodedata;
const char *nodename = virJSONValueObjectGetString(next, "node-name");
- const char *drvname;
+ const char *drvname = NULL;
+ const char *drvparent = NULL;
const char *parentnodename = NULL;
const char *filename = NULL;
int ret = -1;
if (parent &&
(parentnodename = virJSONValueObjectGetString(parent, "node-name"))) {
- if ((parentnodedata = virHashLookup(nodenamestable, parentnodename)))
+ if ((parentnodedata = virHashLookup(nodenamestable, parentnodename))) {
filename = virJSONValueObjectGetString(parentnodedata, "file");
+ drvparent = virJSONValueObjectGetString(parentnodedata, "drv");
+ }
}
if (VIR_ALLOC(data) < 0)
if (VIR_STRDUP(data->nodeformat, nodename) < 0 ||
VIR_STRDUP(data->nodestorage, parentnodename) < 0 ||
- VIR_STRDUP(data->qemufilename, filename) < 0)
+ VIR_STRDUP(data->qemufilename, filename) < 0 ||
+ VIR_STRDUP(data->drvformat, drvname) < 0 ||
+ VIR_STRDUP(data->drvstorage, drvparent) < 0)
goto cleanup;
if (backing &&
drive-virtio-disk0
filename : '/var/lib/libvirt/images/rhel7.3.1483545313'
format node : '#block187'
+format drv : 'qcow2'
storage node: '#block033'
+storage drv : 'file'
filename : '/var/lib/libvirt/images/rhel7.3.1483536402'
format node : '#block306'
+ format drv : 'qcow2'
storage node: '#block220'
+ storage drv : 'file'
filename : '/var/lib/libvirt/images/rhel7.3.qcow2'
format node : '#block558'
+ format drv : 'qcow2'
storage node: '#block481'
+ storage drv : 'file'
virBufferAsprintf(buf, "filename : '%s'\n", entry->qemufilename);
virBufferAsprintf(buf, "format node : '%s'\n",
NULLSTR(entry->nodeformat));
+ virBufferAsprintf(buf, "format drv : '%s'\n", NULLSTR(entry->drvformat));
virBufferAsprintf(buf, "storage node: '%s'\n",
NULLSTR(entry->nodestorage));
+ virBufferAsprintf(buf, "storage drv : '%s'\n", NULLSTR(entry->drvstorage));
virBufferAdjustIndent(buf, 2);