mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 19:41:16 +00:00
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>
141 lines
2.8 KiB
JSON
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"
|
|
}
|