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

Richard W.M. Jones rjones at redhat.com
Tue Sep 5 17:21:05 UTC 2017


On Tue, Sep 05, 2017 at 06:41:21PM +0200, Pino Toscano wrote:
> On Tuesday, 5 September 2017 16:55:08 CEST 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
> > ---
> 
> I guess that, according to the other message in this thread, the commit
> message will be amended to use RHBZ# in the subject, and drop the last
> paragraph?
> 
> >  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");
> > +    }
> >      append_list_format ("cache=%s",
> >                          drv->cachemode ? drv->cachemode : "writeback");
> 
> LGTM.  IMHO locking=off ought to be used also for the appliance disk,
> otherwise starting two or more libguestfs instances for the same user
> will fail, no?  Even if not, disabling the locking should still be good,
> as in not making qemu do more work than needed.

Yes.

I'll push it with all the changes you suggest.

Thanks,

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine.  Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/




More information about the Libguestfs mailing list