On Mon 03 Sep 2018 05:03:11 PM CEST, Kevin Wolf wrote: >> libvirt-3-format is read-write and all other node names are readonly in >> the above example. >> >> The same also happens when using filenames: >> >> {"execute":"block-commit", >> "arguments" : {"device":"libvirt-3-format", >> "job-id":"libvirt-3-format", >> "top":"/var/lib/libvirt/images/rhel7.3.1483615252", >> "base":"/var/lib/libvirt/images/rhel7.3.1483605924", >> "auto-finalize":true, >> "auto-dismiss":false}, >> "id":"libvirt-13"} >> >> {"id":"libvirt-13","error":{"class":"GenericError","desc":"Block node is >> read-only"}} > > I see what's happening here. So we have a graph like this: > > guest device > | > v > overlay-format -------> backing-format > [read-only=off] [read-only=on] > | | > v v > overlay-proto backing-proto > [read-only=off] [read-only=on] > > The difference between your -blockdev use and -drive is that you > explicitly specify the read-only option for backing-proto (and you use > a separate -blockdev option anyway), so it doesn't just inherit it > from backing-format.
Are these format and protocol block devices opened with four separate -blockdev parameters? Is that how libvirt does it? Berto