Re: [libvirt] Submitting a patch

2012-09-21 Thread Michal Privoznik
On 21.09.2012 23:06, Laine Stump wrote: > On 09/21/2012 04:47 PM, Shawn Furrow wrote: >> Hi all, >> >> I feel really bad sending this through the libvirt-list but the email >> provided at the bottom of the patch page is rejecting my email. >> >> I have a patch for Libvirt but I am unsure how to go

Re: [libvirt] [PATCH 4/4] network: backend for virNetworkUpdate of interface list

2012-09-21 Thread Laine Stump
On 09/21/2012 04:45 PM, Peter Krempa wrote: > On 09/21/12 21:46, Laine Stump wrote: >> elements are location inside the element of a >> network. There is only one element in any network, but it >> might have many elements. This element only contains a >> single attribute, "dev", which is the na

Re: [libvirt] [PATCH 3/4] network: log error for unknown virNetworkUpdate command codes

2012-09-21 Thread Laine Stump
On 09/21/2012 04:13 PM, Peter Krempa wrote: > On 09/21/12 21:46, Laine Stump wrote: >> Every level of the code for virNetworkUpdate was assuming that some >> other level was checking for validity of the "command" arg, but none >> actually were. The result was that an invalid command code would do >

[libvirt] [PATCH 3/3] qemu_migration: Transport Open vSwitch per-port data during live migration

2012-09-21 Thread Kyle Mestery
Transport Open vSwitch per-port data during live migration by using the utility functions virNetDevOpenvswitchGetMigrateData() and virNetDevOpenvswitchSetMigrateData(). Signed-off-by: Kyle Mestery --- src/qemu/qemu_migration.c | 23 +++ 1 file changed, 19 insertions(+), 4 del

[libvirt] [PATCH 1/3] qemu_migration: Add hooks to transport network port data during migration

2012-09-21 Thread Kyle Mestery
Add the ability for the Qemu V3 migration protocol to include transporting network configuration. A generic framework is proposed with this patch to allow for the transfer of opaque data. Signed-off-by: Kyle Mestery --- src/qemu/qemu_migration.c | 278

[libvirt] [PATCH 0/3] Transport network port data during live migration

2012-09-21 Thread Kyle Mestery
This series of commits has the end goal of allowing per-port data stored in the Open vSwitch DB to be transported during live migration. This is done by first providing a generic infrastructure for transporting network data, adding some utility functions specific to Open vSwitch, and hooking the tw

[libvirt] [PATCH 2/3] openvswitch: Add utility functions for getting and setting Open vSwitch per-port data

2012-09-21 Thread Kyle Mestery
Add utility functions for Open vSwitch to both save per-port data before a live migration, and restore the per-port data after a live migration. Signed-off-by: Kyle Mestery --- src/libvirt_private.syms| 2 ++ src/util/virnetdevopenvswitch.c | 70 +

Re: [libvirt] Submitting a patch

2012-09-21 Thread Laine Stump
On 09/21/2012 04:47 PM, Shawn Furrow wrote: > Hi all, > > I feel really bad sending this through the libvirt-list but the email > provided at the bottom of the patch page is rejecting my email. > > I have a patch for Libvirt but I am unsure how to go about doing it. I > saw that on the patches page

Re: [libvirt] [PATCH 4/4] network: backend for virNetworkUpdate of interface list

2012-09-21 Thread Peter Krempa
On 09/21/12 21:46, Laine Stump wrote: elements are location inside the element of a network. There is only one element in any network, but it might have many elements. This element only contains a single attribute, "dev", which is the name of a network device (e.g. "eth0"). Since there is on

[libvirt] Submitting a patch

2012-09-21 Thread Shawn Furrow
Hi all, I feel really bad sending this through the libvirt-list but the email provided at the bottom of the patch page is rejecting my email. I have a patch for Libvirt but I am unsure how to go about doing it. I saw that on the patches page it says to submit the patch using Mercurial's patchbomb

Re: [libvirt] TSC scaling interface to management

2012-09-21 Thread Dor Laor
On 09/21/2012 05:51 AM, Marcelo Tosatti wrote: On Fri, Sep 21, 2012 at 12:02:46AM +0300, Dor Laor wrote: On 09/12/2012 06:39 PM, Marcelo Tosatti wrote: HW TSC scaling is a feature of AMD processors that allows a multiplier to be specified to the TSC frequency exposed to the guest. KVM also c

Re: [libvirt] [PATCH 2/4] network: make virNetworkObjUpdate error detection/recovery better

2012-09-21 Thread Laine Stump
On 09/21/2012 04:13 PM, Eric Blake wrote: > On 09/21/2012 01:46 PM, Laine Stump wrote: >> 1) virNetworkObjUpdate should be an all or none operation, but in the >> case that we want to update both the live state and persistent config >> versions of the network, it was committing the update to the li

Re: [libvirt] [PATCH 1/4] network: don't refresh iptables rules on networks without them

2012-09-21 Thread Laine Stump
On 09/21/2012 04:04 PM, Eric Blake wrote: > On 09/21/2012 01:46 PM, Laine Stump wrote: >> The bridge driver implementation of virNetworkUpdate() removes and >> re-adds iptables rules any time a network has an , , or >> / elements updated. There are some types of >> networks that have those elements

Re: [libvirt] [PATCH] Fix dnsmasq/radvd on bridges not being able to be bound to IPv6 address on "recent" kernels

2012-09-21 Thread Laine Stump
On 09/21/2012 02:45 PM, Eric Blake wrote: > From: Benjamin Cama > > Le mercredi 20 juin 2012 à 11:05 +0100, Daniel P. Berrange a écrit : >> I think you also need to have a VIR_FOFRCE_CLOSE(tapfd) in the >> very last of the cleanup jump labels. Since between the time >> we open the tapfd & close it

Re: [libvirt] [PATCH 3/4] network: log error for unknown virNetworkUpdate command codes

2012-09-21 Thread Peter Krempa
On 09/21/12 21:46, Laine Stump wrote: Every level of the code for virNetworkUpdate was assuming that some other level was checking for validity of the "command" arg, but none actually were. The result was that an invalid command code would do nothing, but also report success. Since the command c

Re: [libvirt] [PATCH 2/4] network: make virNetworkObjUpdate error detection/recovery better

2012-09-21 Thread Eric Blake
On 09/21/2012 01:46 PM, Laine Stump wrote: > 1) virNetworkObjUpdate should be an all or none operation, but in the > case that we want to update both the live state and persistent config > versions of the network, it was committing the update to the live > state before starting to update the persis

Re: [libvirt] [PATCH 1/4] network: don't refresh iptables rules on networks without them

2012-09-21 Thread Eric Blake
On 09/21/2012 01:46 PM, Laine Stump wrote: > The bridge driver implementation of virNetworkUpdate() removes and > re-adds iptables rules any time a network has an , , or > / elements updated. There are some types of > networks that have those elements and yet have no iptables rules > associated wit

[libvirt] [PATCH 4/4] network: backend for virNetworkUpdate of interface list

2012-09-21 Thread Laine Stump
elements are location inside the element of a network. There is only one element in any network, but it might have many elements. This element only contains a single attribute, "dev", which is the name of a network device (e.g. "eth0"). Since there is only a single attribute, the modify operat

[libvirt] [PATCH 3/4] network: log error for unknown virNetworkUpdate command codes

2012-09-21 Thread Laine Stump
Every level of the code for virNetworkUpdate was assuming that some other level was checking for validity of the "command" arg, but none actually were. The result was that an invalid command code would do nothing, but also report success. Since the command code isn't used until the very lowest lev

[libvirt] [PATCH 0/4] virNetworkUpdate bugfixes

2012-09-21 Thread Laine Stump
The 4 patches here are in decreasing order of importance. The first: [PATCH 1/4] network: don't refresh iptables rules on networks prevents proper behavior with a valid request when modifying the interface pool list of a macvtap or hostdev network (because it tries to refresh non-existent iptab

[libvirt] [PATCH 1/4] network: don't refresh iptables rules on networks without them

2012-09-21 Thread Laine Stump
The bridge driver implementation of virNetworkUpdate() removes and re-adds iptables rules any time a network has an , , or / elements updated. There are some types of networks that have those elements and yet have no iptables rules associated with them, and unfortunately the functions that remove/a

[libvirt] [PATCH 2/4] network: make virNetworkObjUpdate error detection/recovery better

2012-09-21 Thread Laine Stump
1) virNetworkObjUpdate should be an all or none operation, but in the case that we want to update both the live state and persistent config versions of the network, it was committing the update to the live state before starting to update the persistent config. If update of the persistent config fai

Re: [libvirt] [PATCH 01/12] Drop unused return value of virLogOutputFunc

2012-09-21 Thread Eric Blake
On 09/21/2012 02:39 AM, Daniel P. Berrange wrote: > On Thu, Sep 20, 2012 at 08:24:00PM +0200, Miloslav Trmač wrote: >> Nothing uses the return value, and creating it requries otherwise >> unnecessary strlen () calls. >> >> This cleanup is conceptually independent from the rest of the series >> (alt

Re: [libvirt] [PATCH] Temporarily shutoff CPUSET cgroup in libvirt.

2012-09-21 Thread Eric Blake
On 09/21/2012 02:20 AM, Tang Chen wrote: > When a cpu or memory is offlined and onlined again, cgroup will not > recover any corresponding values. This is a problem in kernel. > Do not use CPUSET cgroup to limit threads using cpu and memory until > the problem is fixed in kernel. > > Signed-off-by

[libvirt] [PATCH] Fix dnsmasq/radvd on bridges not being able to be bound to IPv6 address on "recent" kernels

2012-09-21 Thread Eric Blake
From: Benjamin Cama Le mercredi 20 juin 2012 à 11:05 +0100, Daniel P. Berrange a écrit : > I think you also need to have a VIR_FOFRCE_CLOSE(tapfd) in the > very last of the cleanup jump labels. Since between the time > we open the tapfd & close it, we might have done a 'goto err1' > or similar.

Re: [libvirt] [PATCH] Remove redundant lines in src/qemu/qemu_driver.c

2012-09-21 Thread Eric Blake
On 09/21/2012 03:50 AM, Tang Chen wrote: > maxcpu and hostcpus are defined and calculated in qemudDomainPinVcpuFlags() > and qemudDomainPinEmulator(), but never used. So remove them including > nodeinfo. > > Signed-off-by: Tang Chen > --- > src/qemu/qemu_driver.c | 18 -- > 1

Re: [libvirt] [PATCH] Don't install legacy initscripts at same time as systemd ones

2012-09-21 Thread Eric Blake
On 09/21/2012 04:24 AM, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" > > The Fedora policies don't want us installing the legacy initscripts > in parallel with the systemd ones, so switch to only install the > systemd unit > > Signed-off-by: Daniel P. Berrange > --- > libvirt.spec.in

Re: [libvirt] [PATCH v2] Fix dnsmasq/radvd on bridges not being able to be bound to IPv6 address on "recent" kernels

2012-09-21 Thread Eric Blake
On 09/21/2012 11:04 AM, Benjamin Cama wrote: > Ping? > >>> >>> Thanks. BTW, if this patch is commited, I'm already in AUTHORS under >>> another email address, which is OK. Our syntax checker wants us to add a .mailmap listing, so that your preferred email address is in AUTHORS. Let me know if y

Re: [libvirt] [PATCH v2] Add a test suite for validating SELinux labelling

2012-09-21 Thread Eric Blake
On 09/21/2012 09:21 AM, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" > > There are many aspects of the guest XML which result in the > SELinux driver applying file labelling. With the increasing > configuration options it is desirable to test this behaviour. > It is not possible to assu

Re: [libvirt] [PATCH v2] Fix dnsmasq/radvd on bridges not being able to be bound to IPv6 address on "recent" kernels

2012-09-21 Thread Benjamin Cama
Ping? I just stumbled over this again today: vanillia Ubuntu 12.04, set up a network bridge with an IPv6 address, and it stays “tentative” and can't be used (it doesn't block when starting the network, though, contrary to my Debian experience). On my Debian squeeze, it's still blocking when doing

[libvirt] [PATCH v2] Add a test suite for validating SELinux labelling

2012-09-21 Thread Daniel P. Berrange
From: "Daniel P. Berrange" There are many aspects of the guest XML which result in the SELinux driver applying file labelling. With the increasing configuration options it is desirable to test this behaviour. It is not possible to assume that the test suite has the ability to set SELinux labels.

Re: [libvirt] [PATCH 02/29] Add a test suite for validating SELinux labelling

2012-09-21 Thread Eric Blake
On 09/21/2012 07:21 AM, Daniel P. Berrange wrote: >>> +while (!feof(fp)) { >>> +char *line; >>> +char *file, *context; >>> +if (VIR_ALLOC_N(line, 1024) < 0) { >>> +virReportOOMError(); >>> +goto cleanup; >>> +} >>> +if (!fgets(line

Re: [libvirt] [PATCH 02/29] Add a test suite for validating SELinux labelling

2012-09-21 Thread Daniel P. Berrange
On Thu, Sep 20, 2012 at 04:06:29PM -0600, Eric Blake wrote: > On 09/20/2012 09:01 AM, Daniel P. Berrange wrote: > > From: "Daniel P. Berrange" > > > > There are many aspects of the guest XML which result in the > > SELinux driver applying file labelling. With the increasing > > configuration opti

Re: [libvirt] [PATCH] Don't use O_TRUNC when opening QEMU logfiles

2012-09-21 Thread Richard W.M. Jones
On Fri, Sep 21, 2012 at 01:00:26PM +0100, Daniel P. Berrange wrote: > On Fri, Sep 21, 2012 at 12:54:25PM +0100, Richard W.M. Jones wrote: > > > > On Fri, Sep 21, 2012 at 10:39:19AM +0100, Daniel P. Berrange wrote: > > > From: "Daniel P. Berrange" > > > > > > SELinux wants all log files opened wi

Re: [libvirt] [PATCH v4 0/2] Add to character devices.

2012-09-21 Thread Michal Privoznik
On 21.09.2012 12:40, Richard W.M. Jones wrote: > The updates compared to the previous version: > > - All style issues fixed, except for a few long lines where it's just > not possible to split the lines and keep the code looking > reasonable. > > - Added RNG. > > - Fixed the potential segfau

Re: [libvirt] [PATCH] Don't use O_TRUNC when opening QEMU logfiles

2012-09-21 Thread Daniel P. Berrange
On Fri, Sep 21, 2012 at 12:54:25PM +0100, Richard W.M. Jones wrote: > > On Fri, Sep 21, 2012 at 10:39:19AM +0100, Daniel P. Berrange wrote: > > From: "Daniel P. Berrange" > > > > SELinux wants all log files opened with O_APPEND. When > > running non-root though, libvirtd likes to use O_TRUNC > >

Re: [libvirt] [PATCH] Don't use O_TRUNC when opening QEMU logfiles

2012-09-21 Thread Richard W.M. Jones
On Fri, Sep 21, 2012 at 10:39:19AM +0100, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" > > SELinux wants all log files opened with O_APPEND. When > running non-root though, libvirtd likes to use O_TRUNC > to avoid log files growing in size indefinitely. Instead > of using O_TRUNC thoug

Re: [libvirt] [PATCH v8][re-send] support offline migration

2012-09-21 Thread Daniel P. Berrange
On Thu, Sep 20, 2012 at 01:33:39PM +0800, liguang wrote: > original migration did not aware of offline case > so, add code to support offline migration quietly > (did not disturb original migration) by pass > VIR_MIGRATE_OFFLINE flag to migration APIs if only > the domain is really inactive, and >

[libvirt] [PATCH v4 0/2] Add to character devices.

2012-09-21 Thread Richard W.M. Jones
The updates compared to the previous version: - All style issues fixed, except for a few long lines where it's just not possible to split the lines and keep the code looking reasonable. - Added RNG. - Fixed the potential segfault on the error path in virSecurityDeviceLabelDefParseXML - Si

[libvirt] [PATCH v4 2/2] Add to character devices.

2012-09-21 Thread Richard W.M. Jones
From: "Richard W.M. Jones" This allows the user to control labelling of each character device separately (the default is to inherit from the VM). --- docs/formatdomain.html.in |8 docs/schemas/domaincommon.rng |3 ++ src/conf/domain_conf.c | 78 +++

[libvirt] [PATCH v4 1/2] Make virSecurityDeviceLabelDefParseXML into generic device parser.

2012-09-21 Thread Richard W.M. Jones
From: "Richard W.M. Jones" This is just code motion, allowing us to reuse the same function to parse the from character devices too. However it also fixes a possible segfault in the original code if VIR_ALLOC_N returns an error and the cleanup code (at the error: label) tries to iterate over th

Re: [libvirt] [PATCH] locking: Remove README file in favor of locking.html

2012-09-21 Thread Jiri Denemark
On Thu, Sep 20, 2012 at 08:39:49 -0600, Eric Blake wrote: > On 09/20/2012 06:56 AM, Jiri Denemark wrote: > > The README file seems to be a leftover from some previous version of > > locking driver. It is not consistent with what the code does nor is it > > consistent with existing documentation in

Re: [libvirt] [PATCH] qemu: Fix failure path in disk hotplug

2012-09-21 Thread Jiri Denemark
On Thu, Sep 20, 2012 at 14:48:50 -0600, Eric Blake wrote: > On 09/20/2012 02:35 PM, Jiri Denemark wrote: > > Disk hotplug is a two phase action: qemuMonitorAddDrive followed by > > qemuMonitorAddDevice. When the first part succeeds but the second one > > fails, we need to rollback the drive additio

[libvirt] [PATCH] Don't install legacy initscripts at same time as systemd ones

2012-09-21 Thread Daniel P. Berrange
From: "Daniel P. Berrange" The Fedora policies don't want us installing the legacy initscripts in parallel with the systemd ones, so switch to only install the systemd unit Signed-off-by: Daniel P. Berrange --- libvirt.spec.in | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --gi

Re: [libvirt] [PATCH v3 2/2] Add to character devices.

2012-09-21 Thread Daniel P. Berrange
On Fri, Sep 21, 2012 at 10:52:08AM +0100, Richard W.M. Jones wrote: > On Fri, Sep 21, 2012 at 11:37:08AM +0200, Michal Privoznik wrote: > > On 21.09.2012 11:27, Michal Privoznik wrote: > > > On 20.09.2012 17:29, Richard W.M. Jones wrote: > > >> From: "Richard W.M. Jones" > > >> > > >> This allows

Re: [libvirt] [PATCH v3 2/2] Add to character devices.

2012-09-21 Thread Richard W.M. Jones
On Fri, Sep 21, 2012 at 11:37:08AM +0200, Michal Privoznik wrote: > On 21.09.2012 11:27, Michal Privoznik wrote: > > On 20.09.2012 17:29, Richard W.M. Jones wrote: > >> From: "Richard W.M. Jones" > >> > >> This allows the user to control labelling of each character device > >> separately (the defa

Re: [libvirt] [PATCH] Don't use O_TRUNC when opening QEMU logfiles

2012-09-21 Thread Jiri Denemark
On Fri, Sep 21, 2012 at 10:39:19 +0100, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" > > SELinux wants all log files opened with O_APPEND. When > running non-root though, libvirtd likes to use O_TRUNC > to avoid log files growing in size indefinitely. Instead > of using O_TRUNC though,

Re: [libvirt] [PATCH] Don't use O_TRUNC when opening QEMU logfiles

2012-09-21 Thread Michal Privoznik
On 21.09.2012 11:39, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" > > SELinux wants all log files opened with O_APPEND. When > running non-root though, libvirtd likes to use O_TRUNC > to avoid log files growing in size indefinitely. Instead > of using O_TRUNC though, we can use O_APPEND

[libvirt] [PATCH] Remove redundant lines in src/qemu/qemu_driver.c

2012-09-21 Thread Tang Chen
maxcpu and hostcpus are defined and calculated in qemudDomainPinVcpuFlags() and qemudDomainPinEmulator(), but never used. So remove them including nodeinfo. Signed-off-by: Tang Chen --- src/qemu/qemu_driver.c | 18 -- 1 file changed, 18 deletions(-) diff --git a/src/qemu/qemu_

[libvirt] [PATCH] Don't use O_TRUNC when opening QEMU logfiles

2012-09-21 Thread Daniel P. Berrange
From: "Daniel P. Berrange" SELinux wants all log files opened with O_APPEND. When running non-root though, libvirtd likes to use O_TRUNC to avoid log files growing in size indefinitely. Instead of using O_TRUNC though, we can use O_APPEND and then call ftruncate() which keeps SELinux happier. Si

Re: [libvirt] [PATCH v3 2/2] Add to character devices.

2012-09-21 Thread Michal Privoznik
On 21.09.2012 11:27, Michal Privoznik wrote: > On 20.09.2012 17:29, Richard W.M. Jones wrote: >> From: "Richard W.M. Jones" >> >> This allows the user to control labelling of each character device >> separately (the default is to inherit from the VM). >> --- >> docs/formatdomain.html.in |

Re: [libvirt] [PATCH v3 2/2] Add to character devices.

2012-09-21 Thread Michal Privoznik
On 20.09.2012 17:29, Richard W.M. Jones wrote: > From: "Richard W.M. Jones" > > This allows the user to control labelling of each character device > separately (the default is to inherit from the VM). > --- > docs/formatdomain.html.in |8 > src/conf/domain_conf.c | 77 +

Re: [libvirt] [PATCH v3 1/2] Make virSecurityDeviceLabelDefParseXML into generic device parser.

2012-09-21 Thread Michal Privoznik
On 20.09.2012 17:29, Richard W.M. Jones wrote: > From: "Richard W.M. Jones" > > This is just code motion, allowing us to reuse the same function to > parse the from character devices too. > --- > src/conf/domain_conf.c | 36 +++- > 1 file changed, 19 insertions

[libvirt] [PATCH v8] support offline migration

2012-09-21 Thread li guang
ping 在 2012-09-17一的 15:10 +0800,liguang写道: > Hi, Daniel & Eric > > can you help to review this patch again? > > Thanks! > > 在 2012-09-17一的 08:45 +0800,liguang写道: > > original migration did not aware of offline case > > so, add code to support offline migration quietly > > (did not disturb origi

Re: [libvirt] [PATCH] Fix crash accessing a NULL URI when looking up auth credentials

2012-09-21 Thread Peter Krempa
On 09/12/12 17:41, Daniel P. Berrange wrote: From: "Daniel P. Berrange" When auto-probing hypervisor drivers, the conn->uri field will initially be NULL. Care must be taken not to access members when doing auth lookups in the config file --- src/remote/remote_driver.c | 2 +- src/util/viraut

Re: [libvirt] [PATCH 01/12] Drop unused return value of virLogOutputFunc

2012-09-21 Thread Daniel P. Berrange
On Thu, Sep 20, 2012 at 08:24:00PM +0200, Miloslav Trmač wrote: > Nothing uses the return value, and creating it requries otherwise > unnecessary strlen () calls. > > This cleanup is conceptually independent from the rest of the series > (although the later patches won't apply without it). This j

Re: [libvirt] [PATCH] Fix crash accessing a NULL URI when looking up auth credentials

2012-09-21 Thread Daniel P. Berrange
Ping On Wed, Sep 12, 2012 at 04:41:16PM +0100, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" > > When auto-probing hypervisor drivers, the conn->uri field will > initially be NULL. Care must be taken not to access members > when doing auth lookups in the config file > --- > src/remote/

[libvirt] [PATCH] Temporarily shutoff CPUSET cgroup in libvirt.

2012-09-21 Thread Tang Chen
When a cpu or memory is offlined and onlined again, cgroup will not recover any corresponding values. This is a problem in kernel. Do not use CPUSET cgroup to limit threads using cpu and memory until the problem is fixed in kernel. Signed-off-by: Tang Chen --- src/qemu/qemu.conf |5 -

Re: [libvirt] [Libvirt-announce] Release candidate 2 of 0.10.2 is available

2012-09-21 Thread Justin Clift
On 21/09/2012, at 3:24 PM, Daniel Veillard wrote: > I have just tagged the release candidate 2 version and provided > tarball and rpms at ftp://libvirt.org/libvirt/ > > So far testing on rc1 is rather good, plus we fixed a number of > small problems since them, so I'm rather positive about it, a

Re: [libvirt] [PATCH] blockdev: preserve readonly and snapshot states across media changes

2012-09-21 Thread Kevin Wolf
Am 21.09.2012 01:20, schrieb Kevin Shanahan: > If readonly=on is given at device creation time, the ->readonly flag > needs to be set in the block driver state for this device so that > readonly-ness is preserved across media changes (qmp change command). > Similarly, to preserve the snapshot prope