From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36876) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dpXpN-0005BQ-1D for qemu-devel@nongnu.org; Wed, 06 Sep 2017 06:45:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dpXpJ-0002U6-3c for qemu-devel@nongnu.org; Wed, 06 Sep 2017 06:45:01 -0400 Date: Wed, 6 Sep 2017 11:44:51 +0100 From: "Richard W.M. Jones" Message-ID: <20170906104451.GM20914@redhat.com> References: <20170906085006.26983-1-rjones@redhat.com> <20170906101905.GD3753@dhcp-200-186.str.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170906101905.GD3753@dhcp-200-186.str.redhat.com> Subject: Re: [Qemu-devel] [PATCH for-2.10] qemu-options: Document the -drive locking parameter. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: qemu-devel@nongnu.org, armbru@redhat.com, famz@redhat.com, qemu-trivial@nongnu.org, mjt@tls.msk.ru On Wed, Sep 06, 2017 at 12:19:05PM +0200, Kevin Wolf wrote: > Am 06.09.2017 um 10:50 hat Richard W.M. Jones geschrieben: > > Commit 16b48d5d66d2 ("file-posix: Add 'locking' option") added this > > option, but as it was not documented in the -help output it was not > > easily possible to tell if a particular qemu binary supports it. > > > > Signed-off-by: Richard W.M. Jones > > --- > > qemu-options.hx | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/qemu-options.hx b/qemu-options.hx > > index 9f6e2adfff..f8f95eb498 100644 > > --- a/qemu-options.hx > > +++ b/qemu-options.hx > > @@ -796,7 +796,7 @@ DEF("drive", HAS_ARG, QEMU_OPTION_drive, > > " [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]\n" > > " [,serial=s][,addr=A][,rerror=ignore|stop|report]\n" > > " [,werror=ignore|stop|report|enospc][,id=name][,aio=threads|native]\n" > > - " [,readonly=on|off][,copy-on-read=on|off]\n" > > + " [,readonly=on|off][,copy-on-read=on|off][,locking=off|auto|on]\n" > > " [,discard=ignore|unmap][,detect-zeroes=on|off|unmap]\n" > > " [[,bps=b]|[[,bps_rd=r][,bps_wr=w]]]\n" > > " [[,iops=i]|[[,iops_rd=r][,iops_wr=w]]]\n" > > 'locking' is a driver-specific option and not universally available for > all images, so it shouldn't be included here. Indeed this patch is wrong, please ignore it. However I couldn't work out the incantation to disable locking for a qcow2 overlay backed by a file which is locked by another qemu process: ... -drive file=/home/rjones/d/libguestfs/tmp/libguestfsSOXEiU/overlay1,cache=unsafe,format=qcow2,file.locking=off,id=hd0,if=none \ -device scsi-hd,drive=hd0 \ ... qemu-system-x86_64: -device scsi-hd,drive=hd0: Failed to get shared "write" lock Is another process using the image? ... I'm guessing I need another level of indirection to get to the backing file, but file.file.locking=off did not work either. I think the error message there is wrong as well since it doesn't refer to the right command line option nor tell you which file is locked. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v