[Libguestfs] [PATCH] lib: direct: Disable qemu locking when opening drives readonly.

Richard W.M. Jones rjones at redhat.com
Tue Sep 12 08:42:46 UTC 2017


On Wed, Sep 06, 2017 at 10:41:24AM +0300, Roman Kagan wrote:
> On Tue, Sep 05, 2017 at 03:55:08PM +0100, Richard W.M. Jones wrote:
> > Since qemu 2.10, qemu locks all drives even when they are opened
> > readonly.  This disables this locking in this safe case.
> > 
> > Incomplete fix for
> > https://bugzilla.redhat.com/show_bug.cgi?id=1417306
> > ---
> >  lib/launch-direct.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/lib/launch-direct.c b/lib/launch-direct.c
> > index 3b848165c..e5465539d 100644
> > --- a/lib/launch-direct.c
> > +++ b/lib/launch-direct.c
> > @@ -221,8 +221,11 @@ add_drive_standard_params (guestfs_h *g, struct backend_direct_data *data,
> >      file = guestfs_int_drive_source_qemu_param (g, &drv->src);
> >      append_list_format ("file=%s", file);
> >  
> > -    if (drv->readonly)
> > +    if (drv->readonly) {
> >        append_list ("snapshot=on");
> > +      if (guestfs_int_version_ge (&data->qemu_version, 2, 10, 0))
> > +        append_list ("locking=off");
> 
> Don't we have a way to enumerate supported options?

Yes, although it's difficult to do:

https://www.redhat.com/archives/libguestfs/2017-September/msg00039.html

Rich.

> Depending on QEMU version is not going to play nice with vendor-shipped
> QEMU where features are often backported.
> 
> > +    }
> >      append_list_format ("cache=%s",
> >                          drv->cachemode ? drv->cachemode : "writeback");
> >      if (drv->src.format)
> 
> Roman.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top




More information about the Libguestfs mailing list