mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-09 01:18:00 +03:00
qemu: block: Don't nest storage layer properties into format layer
Reference the storage via node name rather than inlining it. This is the approach that will be used with -blockdev/blockdev-add since it allows more control and is more future proof. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
cf9683cac0
commit
b8240fe704
@ -1432,7 +1432,6 @@ virJSONValuePtr
|
||||
qemuBlockStorageSourceGetBlockdevProps(virStorageSourcePtr src)
|
||||
{
|
||||
bool backingSupported = src->format >= VIR_STORAGE_FILE_BACKING;
|
||||
virJSONValuePtr storage = NULL;
|
||||
virJSONValuePtr props = NULL;
|
||||
virJSONValuePtr ret = NULL;
|
||||
|
||||
@ -1446,13 +1445,9 @@ qemuBlockStorageSourceGetBlockdevProps(virStorageSourcePtr src)
|
||||
if (!(props = qemuBlockStorageSourceGetBlockdevFormatProps(src)))
|
||||
goto cleanup;
|
||||
|
||||
if (!(storage = qemuBlockStorageSourceGetBackendProps(src, false)))
|
||||
if (virJSONValueObjectAppendString(props, "file", src->nodestorage) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virJSONValueObjectAppend(props, "file", storage) < 0)
|
||||
goto cleanup;
|
||||
storage = NULL;
|
||||
|
||||
if (src->backingStore && backingSupported) {
|
||||
if (virStorageSourceHasBacking(src)) {
|
||||
if (virJSONValueObjectAppendString(props, "backing",
|
||||
@ -1469,7 +1464,6 @@ qemuBlockStorageSourceGetBlockdevProps(virStorageSourcePtr src)
|
||||
VIR_STEAL_PTR(ret, props);
|
||||
|
||||
cleanup:
|
||||
virJSONValueFree(storage);
|
||||
virJSONValueFree(props);
|
||||
return ret;
|
||||
}
|
||||
|
@ -191,7 +191,8 @@ testQemuDiskXMLToProps(const void *opaque)
|
||||
struct testQemuDiskXMLToJSONData *data = (void *) opaque;
|
||||
virDomainDiskDefPtr disk = NULL;
|
||||
virStorageSourcePtr n;
|
||||
virJSONValuePtr props = NULL;
|
||||
virJSONValuePtr formatProps = NULL;
|
||||
virJSONValuePtr storageProps = NULL;
|
||||
char *xmlpath = NULL;
|
||||
char *xmlstr = NULL;
|
||||
int ret = -1;
|
||||
@ -221,7 +222,8 @@ testQemuDiskXMLToProps(const void *opaque)
|
||||
if (testQemuDiskXMLToJSONFakeSecrets(n) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (!(props = qemuBlockStorageSourceGetBlockdevProps(n))) {
|
||||
if (!(formatProps = qemuBlockStorageSourceGetBlockdevProps(n)) ||
|
||||
!(storageProps = qemuBlockStorageSourceGetBackendProps(n, false))) {
|
||||
if (!data->fail) {
|
||||
VIR_TEST_VERBOSE("failed to generate qemu blockdev props\n");
|
||||
goto cleanup;
|
||||
@ -231,13 +233,16 @@ testQemuDiskXMLToProps(const void *opaque)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (VIR_APPEND_ELEMENT(data->props, data->nprops, props) < 0)
|
||||
if (VIR_APPEND_ELEMENT(data->props, data->nprops, formatProps) < 0 ||
|
||||
VIR_APPEND_ELEMENT(data->props, data->nprops, storageProps) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
virJSONValueFree(formatProps);
|
||||
virJSONValueFree(storageProps);
|
||||
virDomainDiskDefFree(disk);
|
||||
VIR_FREE(xmlpath);
|
||||
VIR_FREE(xmlstr);
|
||||
|
@ -2,11 +2,12 @@
|
||||
"node-name": "0123456789ABCDEF0123456789ABCDE",
|
||||
"read-only": false,
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "0123456789ABCDEF0123456789ABCDE"
|
||||
}
|
||||
{
|
||||
"driver": "host_device",
|
||||
"filename": "/dev/blah",
|
||||
"node-name": "0123456789ABCDEF0123456789ABCDE",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,9 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-s"
|
||||
}
|
||||
{
|
||||
"driver": "vvfat",
|
||||
"dir": "/var/somefiles",
|
||||
"floppy": false,
|
||||
@ -19,4 +21,3 @@
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,9 @@
|
||||
"node-name": "node-f",
|
||||
"read-only": true,
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-s"
|
||||
}
|
||||
{
|
||||
"driver": "vvfat",
|
||||
"dir": "/var/somefiles",
|
||||
"floppy": true,
|
||||
@ -11,4 +13,3 @@
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,9 @@
|
||||
"node-name": "node-f",
|
||||
"read-only": true,
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-s"
|
||||
}
|
||||
{
|
||||
"driver": "vvfat",
|
||||
"dir": "/var/somefiles",
|
||||
"floppy": false,
|
||||
@ -11,4 +13,3 @@
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,35 +2,40 @@
|
||||
"node-name": "node-a-f",
|
||||
"read-only": false,
|
||||
"driver": "qcow",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"aio": "threads",
|
||||
"node-name": "node-a-s",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
"read-only": true,
|
||||
"driver": "qed",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"aio": "threads",
|
||||
"node-name": "node-b-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
"read-only": true,
|
||||
"driver": "vmdk",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -44,14 +49,14 @@
|
||||
"node-name": "node-c-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
"read-only": true,
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"aio": "threads",
|
||||
@ -59,4 +64,3 @@
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
@ -16,8 +19,6 @@
|
||||
},
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
@ -27,7 +28,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
@ -37,8 +41,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
@ -48,7 +50,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -66,8 +71,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
@ -77,7 +80,9 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
@ -88,4 +93,3 @@
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
@ -16,8 +19,6 @@
|
||||
},
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
@ -27,7 +28,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
@ -37,8 +41,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
@ -48,7 +50,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -66,8 +71,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
@ -77,7 +80,9 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
@ -88,4 +93,3 @@
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,10 @@
|
||||
"no-flush": true
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
@ -16,8 +19,6 @@
|
||||
},
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
@ -27,7 +28,10 @@
|
||||
"no-flush": true
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
@ -37,8 +41,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
@ -48,7 +50,10 @@
|
||||
"no-flush": true
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -66,8 +71,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
@ -77,7 +80,9 @@
|
||||
"no-flush": true
|
||||
},
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
@ -88,4 +93,3 @@
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
@ -16,8 +19,6 @@
|
||||
},
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
@ -27,7 +28,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
@ -37,8 +41,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
@ -48,7 +50,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -66,8 +71,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
@ -77,7 +80,9 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
@ -88,4 +93,3 @@
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
@ -16,8 +19,6 @@
|
||||
},
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
@ -27,7 +28,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
@ -37,8 +41,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
@ -48,7 +50,10 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -66,8 +71,6 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
@ -77,7 +80,9 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
@ -88,4 +93,3 @@
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -3,33 +3,38 @@
|
||||
"read-only": false,
|
||||
"detect-zeroes": "on",
|
||||
"driver": "qcow",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
"read-only": true,
|
||||
"driver": "qed",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
"read-only": true,
|
||||
"driver": "vmdk",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -43,18 +48,17 @@
|
||||
"node-name": "node-c-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
"read-only": true,
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,50 +2,54 @@
|
||||
"node-name": "node-a-f",
|
||||
"read-only": false,
|
||||
"driver": "qed",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
"read-only": true,
|
||||
"driver": "qcow",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
"read-only": true,
|
||||
"driver": "vmdk",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/c",
|
||||
"node-name": "node-c-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
"read-only": true,
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -4,35 +4,40 @@
|
||||
"discard": "unmap",
|
||||
"detect-zeroes": "unmap",
|
||||
"driver": "qcow",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
"read-only": true,
|
||||
"discard": "unmap",
|
||||
"driver": "qed",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
"read-only": true,
|
||||
"discard": "unmap",
|
||||
"driver": "vmdk",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -46,19 +51,18 @@
|
||||
"node-name": "node-c-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
"read-only": true,
|
||||
"discard": "unmap",
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -4,35 +4,40 @@
|
||||
"discard": "ignore",
|
||||
"detect-zeroes": "on",
|
||||
"driver": "qcow",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
"read-only": true,
|
||||
"discard": "ignore",
|
||||
"driver": "qed",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
"read-only": true,
|
||||
"discard": "ignore",
|
||||
"driver": "vmdk",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -46,19 +51,18 @@
|
||||
"node-name": "node-c-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
"read-only": true,
|
||||
"discard": "ignore",
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -3,35 +3,40 @@
|
||||
"read-only": false,
|
||||
"discard": "unmap",
|
||||
"driver": "qcow",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
"read-only": true,
|
||||
"discard": "unmap",
|
||||
"driver": "qed",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-c-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-c-f",
|
||||
"read-only": true,
|
||||
"discard": "unmap",
|
||||
"driver": "vmdk",
|
||||
"file": {
|
||||
"file": "node-c-s",
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"driver": "gluster",
|
||||
"volume": "images",
|
||||
"path": "c",
|
||||
@ -45,19 +50,18 @@
|
||||
"node-name": "node-c-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-d-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-d-f",
|
||||
"read-only": true,
|
||||
"discard": "unmap",
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "node-d-s"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/d",
|
||||
"node-name": "node-d-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,12 @@
|
||||
"node-name": "test1",
|
||||
"read-only": false,
|
||||
"driver": "bochs",
|
||||
"file": {
|
||||
"file": "test2"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/path/to/i.img",
|
||||
"node-name": "test2",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,12 @@
|
||||
"node-name": "test1",
|
||||
"read-only": false,
|
||||
"driver": "cloop",
|
||||
"file": {
|
||||
"file": "test2"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/path/to/i.img",
|
||||
"node-name": "test2",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,12 @@
|
||||
"node-name": "test1",
|
||||
"read-only": false,
|
||||
"driver": "dmg",
|
||||
"file": {
|
||||
"file": "test2"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/path/to/i.img",
|
||||
"node-name": "test2",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,12 @@
|
||||
"node-name": "test1",
|
||||
"read-only": false,
|
||||
"driver": "parallels",
|
||||
"file": {
|
||||
"file": "test2"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/path/to/i.img",
|
||||
"node-name": "test2",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -6,14 +6,15 @@
|
||||
"format": "luks",
|
||||
"key-secret": "node-b-f-encalias"
|
||||
},
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/a",
|
||||
"node-name": "node-a-s",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
@ -23,12 +24,13 @@
|
||||
"format": "aes",
|
||||
"key-secret": "node-b-f-encalias"
|
||||
},
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": null
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/b",
|
||||
"node-name": "node-b-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": null
|
||||
}
|
||||
|
@ -2,129 +2,139 @@
|
||||
"node-name": "#block126",
|
||||
"read-only": false,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block004",
|
||||
"backing": "#block313"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1507297895",
|
||||
"node-name": "#block004",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block313"
|
||||
}
|
||||
{
|
||||
"node-name": "#block313",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block256",
|
||||
"backing": "#block556"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1484071872",
|
||||
"node-name": "#block256",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block556"
|
||||
}
|
||||
{
|
||||
"node-name": "#block556",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block418",
|
||||
"backing": "#block767"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1483615252",
|
||||
"node-name": "#block418",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block767"
|
||||
}
|
||||
{
|
||||
"node-name": "#block767",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block624",
|
||||
"backing": "#block937"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1483605924",
|
||||
"node-name": "#block624",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block937"
|
||||
}
|
||||
{
|
||||
"node-name": "#block937",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block869",
|
||||
"backing": "#block1157"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1483605920",
|
||||
"node-name": "#block869",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block1157"
|
||||
}
|
||||
{
|
||||
"node-name": "#block1157",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block1047",
|
||||
"backing": "#block1392"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1483546244",
|
||||
"node-name": "#block1047",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block1392"
|
||||
}
|
||||
{
|
||||
"node-name": "#block1392",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block1279",
|
||||
"backing": "#block1523"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1483545901",
|
||||
"node-name": "#block1279",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block1523"
|
||||
}
|
||||
{
|
||||
"node-name": "#block1523",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block1444",
|
||||
"backing": "#block1742"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1483545313",
|
||||
"node-name": "#block1444",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block1742"
|
||||
}
|
||||
{
|
||||
"node-name": "#block1742",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block1602",
|
||||
"backing": "#block1909"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1483536402",
|
||||
"node-name": "#block1602",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block1909"
|
||||
}
|
||||
{
|
||||
"node-name": "#block1909",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block1864",
|
||||
"backing": null
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.qcow2",
|
||||
"node-name": "#block1864",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": null
|
||||
}
|
||||
|
@ -2,24 +2,26 @@
|
||||
"node-name": "#block126",
|
||||
"read-only": false,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block004",
|
||||
"backing": "#block313"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1507297895",
|
||||
"node-name": "#block004",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "#block313"
|
||||
}
|
||||
{
|
||||
"node-name": "#block313",
|
||||
"read-only": true,
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "#block256"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/rhel7.3.1484071872",
|
||||
"node-name": "#block256",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,9 @@
|
||||
"no-flush": false
|
||||
},
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "test2"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/path/to/i.img",
|
||||
"aio": "native",
|
||||
@ -18,4 +20,3 @@
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -3,11 +3,12 @@
|
||||
"read-only": false,
|
||||
"driver": "luks",
|
||||
"key-secret": "test1-encalias",
|
||||
"file": {
|
||||
"file": "test2"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/path/luks.img",
|
||||
"node-name": "test2",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,12 @@
|
||||
"node-name": "0123456789ABCDEF0123456789ABCDE",
|
||||
"read-only": false,
|
||||
"driver": "raw",
|
||||
"file": {
|
||||
"file": "0123456789ABCDEF0123456789ABCDE"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/var/lib/libvirt/images/i.img",
|
||||
"node-name": "0123456789ABCDEF0123456789ABCDE",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,12 @@
|
||||
"node-name": "test1",
|
||||
"read-only": false,
|
||||
"driver": "vdi",
|
||||
"file": {
|
||||
"file": "test2"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/path/to/i.img",
|
||||
"node-name": "test2",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,12 @@
|
||||
"node-name": "test1",
|
||||
"read-only": false,
|
||||
"driver": "vhdx",
|
||||
"file": {
|
||||
"file": "test2"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/path/to/i.img",
|
||||
"node-name": "test2",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,12 @@
|
||||
"node-name": "test1",
|
||||
"read-only": false,
|
||||
"driver": "vpc",
|
||||
"file": {
|
||||
"file": "test2"
|
||||
}
|
||||
{
|
||||
"driver": "file",
|
||||
"filename": "/path/to/i.img",
|
||||
"node-name": "test2",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,10 @@
|
||||
"no-flush": true
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "rbd",
|
||||
"pool": "rbdpool",
|
||||
"image": "rbdimg",
|
||||
@ -28,8 +31,6 @@
|
||||
},
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
@ -39,7 +40,10 @@
|
||||
"no-flush": true
|
||||
},
|
||||
"driver": "qcow2",
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": null
|
||||
}
|
||||
{
|
||||
"driver": "iscsi",
|
||||
"portal": "example.org:3260",
|
||||
"target": "iscsitarget",
|
||||
@ -52,6 +56,4 @@
|
||||
},
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": null
|
||||
}
|
||||
|
@ -6,7 +6,10 @@
|
||||
"format": "luks",
|
||||
"key-secret": "node-b-f-encalias"
|
||||
},
|
||||
"file": {
|
||||
"file": "node-a-s",
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"driver": "rbd",
|
||||
"pool": "rbdpool",
|
||||
"image": "rbdimg",
|
||||
@ -24,8 +27,6 @@
|
||||
"node-name": "node-a-s",
|
||||
"read-only": false,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": "node-b-f"
|
||||
}
|
||||
{
|
||||
"node-name": "node-b-f",
|
||||
@ -35,7 +36,10 @@
|
||||
"format": "aes",
|
||||
"key-secret": "node-b-f-encalias"
|
||||
},
|
||||
"file": {
|
||||
"file": "node-b-s",
|
||||
"backing": null
|
||||
}
|
||||
{
|
||||
"driver": "iscsi",
|
||||
"portal": "example.org:3260",
|
||||
"target": "iqn.2016-09.com.example:iscsitarget",
|
||||
@ -46,6 +50,4 @@
|
||||
"node-name": "node-b-s",
|
||||
"read-only": true,
|
||||
"discard": "unmap"
|
||||
},
|
||||
"backing": null
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user