mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-26 23:55:23 +00:00
2c4c347c4b
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>
96 lines
1.6 KiB
JSON
96 lines
1.6 KiB
JSON
{
|
|
"node-name": "node-a-f",
|
|
"read-only": false,
|
|
"cache": {
|
|
"direct": false,
|
|
"no-flush": false
|
|
},
|
|
"driver": "qcow2",
|
|
"file": "node-a-s",
|
|
"backing": "node-b-f"
|
|
}
|
|
{
|
|
"driver": "file",
|
|
"filename": "/var/lib/libvirt/images/a",
|
|
"node-name": "node-a-s",
|
|
"cache": {
|
|
"direct": false,
|
|
"no-flush": false
|
|
},
|
|
"auto-read-only": true,
|
|
"discard": "unmap"
|
|
}
|
|
{
|
|
"node-name": "node-b-f",
|
|
"read-only": true,
|
|
"cache": {
|
|
"direct": false,
|
|
"no-flush": false
|
|
},
|
|
"driver": "qcow2",
|
|
"file": "node-b-s",
|
|
"backing": "node-c-f"
|
|
}
|
|
{
|
|
"driver": "file",
|
|
"filename": "/var/lib/libvirt/images/b",
|
|
"node-name": "node-b-s",
|
|
"cache": {
|
|
"direct": false,
|
|
"no-flush": false
|
|
},
|
|
"auto-read-only": true,
|
|
"discard": "unmap"
|
|
}
|
|
{
|
|
"node-name": "node-c-f",
|
|
"read-only": true,
|
|
"cache": {
|
|
"direct": false,
|
|
"no-flush": false
|
|
},
|
|
"driver": "qcow2",
|
|
"file": "node-c-s",
|
|
"backing": "node-d-f"
|
|
}
|
|
{
|
|
"driver": "gluster",
|
|
"volume": "images",
|
|
"path": "c",
|
|
"server": [
|
|
{
|
|
"type": "inet",
|
|
"host": "test.org",
|
|
"port": "24007"
|
|
}
|
|
],
|
|
"node-name": "node-c-s",
|
|
"cache": {
|
|
"direct": false,
|
|
"no-flush": false
|
|
},
|
|
"auto-read-only": true,
|
|
"discard": "unmap"
|
|
}
|
|
{
|
|
"node-name": "node-d-f",
|
|
"read-only": true,
|
|
"cache": {
|
|
"direct": false,
|
|
"no-flush": false
|
|
},
|
|
"driver": "raw",
|
|
"file": "node-d-s"
|
|
}
|
|
{
|
|
"driver": "file",
|
|
"filename": "/var/lib/libvirt/images/d",
|
|
"node-name": "node-d-s",
|
|
"cache": {
|
|
"direct": false,
|
|
"no-flush": false
|
|
},
|
|
"auto-read-only": true,
|
|
"discard": "unmap"
|
|
}
|