[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