libvirt/tests/qemublocktestdata/xml2json/file-qcow2-backing-chain-noopts.json
Peter Krempa 2c4c347c4b qemu: block: Use 'auto-read-only' instead of 'read-only' for backing chain
To allow using -blockdev with blockjobs QEMU needs to reopen files in
read-write mode when modifying the backing chain. To achieve this we
need to use 'auto-read-only' for the backing files rather than the
normal 'read-only' property. That way qemu knows that the files need to
be reopened.

Note that the format drivers (e.g. qcow2) are still opened with the
read-only property enabled when being a member of the backing chain
since they are supposed to be immutable unless a block job is started.

QEMU v4.0 (since commit 23dece19da4) allows also dynamic behaviour for
auto-read-only which allows us to use sVirt as we only grant write
permissions to files when doing a blockjob.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-07-18 17:59:34 +02:00

141 lines
2.8 KiB
JSON

{
"node-name": "#block126",
"read-only": false,
"driver": "qcow2",
"file": "#block004",
"backing": "#block313"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1507297895",
"node-name": "#block004",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "#block313",
"read-only": true,
"driver": "qcow2",
"file": "#block256",
"backing": "#block556"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1484071872",
"node-name": "#block256",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "#block556",
"read-only": true,
"driver": "qcow2",
"file": "#block418",
"backing": "#block767"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483615252",
"node-name": "#block418",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "#block767",
"read-only": true,
"driver": "qcow2",
"file": "#block624",
"backing": "#block937"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483605924",
"node-name": "#block624",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "#block937",
"read-only": true,
"driver": "qcow2",
"file": "#block869",
"backing": "#block1157"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483605920",
"node-name": "#block869",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "#block1157",
"read-only": true,
"driver": "qcow2",
"file": "#block1047",
"backing": "#block1392"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483546244",
"node-name": "#block1047",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "#block1392",
"read-only": true,
"driver": "qcow2",
"file": "#block1279",
"backing": "#block1523"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483545901",
"node-name": "#block1279",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "#block1523",
"read-only": true,
"driver": "qcow2",
"file": "#block1444",
"backing": "#block1742"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483545313",
"node-name": "#block1444",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "#block1742",
"read-only": true,
"driver": "qcow2",
"file": "#block1602",
"backing": "#block1909"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.1483536402",
"node-name": "#block1602",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "#block1909",
"read-only": true,
"driver": "qcow2",
"file": "#block1864",
"backing": null
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/rhel7.3.qcow2",
"node-name": "#block1864",
"auto-read-only": true,
"discard": "unmap"
}