From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48959) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aBeU6-0001Gj-BI for qemu-devel@nongnu.org; Wed, 23 Dec 2015 03:09:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aBeU3-0005Ln-4p for qemu-devel@nongnu.org; Wed, 23 Dec 2015 03:09:22 -0500 Received: from mx1.redhat.com ([209.132.183.28]:35692) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aBeU2-0005Li-Ty for qemu-devel@nongnu.org; Wed, 23 Dec 2015 03:09:19 -0500 Date: Wed, 23 Dec 2015 16:09:14 +0800 From: Fam Zheng Message-ID: <20151223080914.GI14423@ad.usersys.redhat.com> References: <567A4EB0.1040807@parallels.com> <1450856816-9816-1-git-send-email-den@openvz.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1450856816-9816-1-git-send-email-den@openvz.org> Subject: Re: [Qemu-devel] [PATCH RFC 0/5] generic image locking and crash recovery List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Denis V. Lunev" Cc: Kevin Wolf , Olga Krishtal , qemu-devel@nongnu.org, Max Reitz On Wed, 12/23 10:46, Denis V. Lunev wrote: > This series of patches is aimed to prevent usage of image > file by different qemu instances. In case we are the first > instance, and option lock is lockfile, - we lock the image file, > and if check option is on, we check the file and fix it if > nessecary. If one of this two ops fails - the image is closed > with the error. > > Patchset is not polished at all! Sent for a discussion as an alternative > approach. I like this approach. The first two patches match what I was thinking of. Patch 5 is okay, the unclean flag reflects HEADER_INUSE_MAGIC in parallels header; unfortunately patch 4 is wrong because qcow2 lacks a counterpart flag in the format, and the patch only modified an in memory variable. we have to add this as a compatible_features bit in order to support this operation. Didn't review very closely because at least one patch doesn't seem to compile. :) Fam > > Signed-off-by: Olga Krishtal > Signed-off-by: Denis V. Lunev > CC: Kevin Wolf > CC: Max Reitz > CC: Eric Blake > CC: Fam Zheng > > Olga Krishtal (5): > block: added lock image option and callback > block: implemented bdrv_lock_image for raw file > block: added check image option and callback bdrv_is_opened_unclean > qcow2: implemented bdrv_is_opened_unclean > block/paralels: added paralles implementation for > bdrv_is_opened_unclean > > block.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++ > block/parallels.c | 7 ++++- > block/qcow2.c | 11 ++++++- > block/qcow2.h | 1 + > block/raw-posix.c | 15 ++++++++++ > block/raw-win32.c | 19 ++++++++++++ > include/block/block.h | 2 ++ > include/block/block_int.h | 2 ++ > qapi/block-core.json | 9 ++++++ > 9 files changed, 137 insertions(+), 2 deletions(-) > > -- > 2.1.4 >