From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45232) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1auUc2-0006aZ-JP for qemu-devel@nongnu.org; Sun, 24 Apr 2016 20:42:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1auUc1-0004RS-Of for qemu-devel@nongnu.org; Sun, 24 Apr 2016 20:42:54 -0400 Date: Mon, 25 Apr 2016 08:42:50 +0800 From: Fam Zheng Message-ID: <20160425004250.GA18010@ad.usersys.redhat.com> References: <1460690887-32751-1-git-send-email-famz@redhat.com> <1460690887-32751-8-git-send-email-famz@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH for-2.7 v2 07/17] rbd: Implement image locking List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: dillaman@redhat.com Cc: qemu-devel@nongnu.org, Kevin Wolf , qemu-block@nongnu.org, Jeff Cody , Markus Armbruster , Max Reitz , den@openvz.org, pbonzini@redhat.com, John Snow On Fri, 04/22 21:57, Jason Dillaman wrote: > Since this cannot automatically recover from a crashed QEMU client with an > RBD image, perhaps this RBD locking should not default to enabled. > Additionally, this will conflict with the "exclusive-lock" feature > available since the Ceph Hammer-release since both utilize the same locking > construct. > > As a quick background, the optional exclusive-lock feature can be > enabled/disabled on image and safely/automatically handles the case of > recovery from a crashed client. Under normal conditions, the RBD > exclusive-lock feature automatically acquires the lock upon the first > attempt to write to the image and transparently transitions ownership of > the lock between two or more clients -- used for QEMU live-migration. Is it enabled by default? > > I'd be happy to add a new librbd API method to explicitly expose acquiring > and releasing the RBD exclusive lock since it certainly solves a couple > compromises in our current QEMU integration. Does the API do enable/disable or acquire/relase? Could you explain the differences between it and rbd_lock_exclusive? Fam