From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aIgkB-00007O-Ko for qemu-devel@nongnu.org; Mon, 11 Jan 2016 12:59:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aIgk8-0004kh-By for qemu-devel@nongnu.org; Mon, 11 Jan 2016 12:59:03 -0500 Received: from mx1.redhat.com ([209.132.183.28]:40743) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aIgk8-0004kX-6Y for qemu-devel@nongnu.org; Mon, 11 Jan 2016 12:59:00 -0500 Date: Mon, 11 Jan 2016 17:58:55 +0000 From: "Daniel P. Berrange" Message-ID: <20160111175855.GC29228@redhat.com> References: <567A4EB0.1040807@parallels.com> <1450856816-9816-1-git-send-email-den@openvz.org> <1450856816-9816-2-git-send-email-den@openvz.org> <20160111173106.GL9454@noname.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20160111173106.GL9454@noname.redhat.com> Subject: Re: [Qemu-devel] [PATCH 1/5] block: added lock image option and callback Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: "Denis V. Lunev" , Max Reitz , Fam Zheng , qemu-devel@nongnu.org, Olga Krishtal On Mon, Jan 11, 2016 at 06:31:06PM +0100, Kevin Wolf wrote: > Am 23.12.2015 um 08:46 hat Denis V. Lunev geschrieben: > > From: Olga Krishtal > > > > While opening the image we want to be sure that we are the > > one who works with image, anf if it is not true - > > opening the image for writing should fail. > > > > There are 2 ways at the moment: no lock at all and lock the file > > image. > > > > Signed-off-by: Olga Krishtal > > Signed-off-by: Denis V. Lunev > > CC: Kevin Wolf > > CC: Max Reitz > > CC: Eric Blake > > CC: Fam Zheng > > As long as locking is disabled by default, it's useless and won't > prevent people from corrupting their images. These corruptions happen > exactly because people don't know how to use qemu properly. You can't > expect them to enable locking manually. > > Also, you probably need to consider bdrv_reopen() and live migration. > I think live migration would be blocked if source and destination both > see the lock; which is admittedly less likely than with the qcow2 patch > (and generally a problem of this series), but with localhost migration > and potentially with some NFS setups it can be the case. Note that when libvirt does locking it will release locks when a VM is paused, and acquire locks prior to resuming CPUs. This allows live migration to work because you never have CPUs running on both src + dst at the same time. This does mean that libvirt does not allow QEMU to automatically re-start CPUs when migration completes, as it needs to take some action to acquire locks before allowing the dst to start running again. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|