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? 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.