libvirt/tests/qemublocktestdata/xml2json/network-qcow2-backing-chain-cache-unsafe.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

65 lines
1.0 KiB
JSON

{
"node-name": "node-b-f",
"read-only": false,
"cache": {
"direct": false,
"no-flush": true
},
"driver": "qcow2",
"file": "node-a-s",
"backing": "node-b-f"
}
{
"driver": "rbd",
"pool": "rbdpool",
"image": "rbdimg",
"server": [
{
"host": "host1.example.com",
"port": "0"
},
{
"host": "host2.example.com",
"port": "0"
}
],
"user": "testuser-rbd",
"auth-client-required": [
"cephx",
"none"
],
"key-secret": "node-a-s-secalias",
"node-name": "node-a-s",
"cache": {
"direct": false,
"no-flush": true
},
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "node-b-f",
"read-only": true,
"cache": {
"direct": false,
"no-flush": true
},
"driver": "qcow2",
"file": "node-b-s",
"backing": null
}
{
"driver": "iscsi",
"portal": "example.org:3260",
"target": "iscsitarget",
"lun": 1,
"transport": "tcp",
"node-name": "node-b-s",
"cache": {
"direct": false,
"no-flush": true
},
"auto-read-only": true,
"discard": "unmap"
}