From patchwork Fri Mar 23 07:36:53 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benoit Canet X-Patchwork-Id: 148393 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 11CF0B6EE6 for ; Fri, 23 Mar 2012 19:09:14 +1100 (EST) Received: from localhost ([::1]:53371 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAz4F-0004x3-D5 for incoming@patchwork.ozlabs.org; Fri, 23 Mar 2012 03:37:47 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35359) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAz3d-0003FF-TN for qemu-devel@nongnu.org; Fri, 23 Mar 2012 03:37:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SAz3b-0004aa-DJ for qemu-devel@nongnu.org; Fri, 23 Mar 2012 03:37:09 -0400 Received: from mail-wg0-f53.google.com ([74.125.82.53]:37073) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SAz3b-0004Xg-3U for qemu-devel@nongnu.org; Fri, 23 Mar 2012 03:37:07 -0400 Received: by mail-wg0-f53.google.com with SMTP id fm10so1938240wgb.10 for ; Fri, 23 Mar 2012 00:37:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=PPXFY8KDCNaxWZQqd1FuxE7XizIbSwcqwdcnboeGbFQ=; b=kb92pSYqZ7pDmYV1h6vDTUFzxiMdAvmLL9vwaRIK2r0qCFgimMK9PphK0yAok9sQmi 9SxltANSzoveKkIL1jvGYwjkm9cF6ZPdezu7VXFjjyfmrZi2k0nxKHEyXjbxZG8hHgb5 hLPL/NRPEbYeQsFUPlA62uNNJYxKqiMPtKlldv74ETo4+fMjJCMXuNnakj3qCZRWC2CN 1piKI4tfVJsh7bTwzlXY3y5UJgJO76O6YvXOG2IsZJ2NGqWvuCfa9o9xvhOYK8xNPnoz Njp1M76eHR3qX7ue8HTrmFEfIJWDzRFNzSatZ1vVwGoEkK0Kj/mhiUob6pt6avNJLimc CqyA== Received: by 10.216.134.205 with SMTP id s55mr6240280wei.100.1332488225823; Fri, 23 Mar 2012 00:37:05 -0700 (PDT) Received: from Laure.box.in.chocolate-blue.net ([109.190.18.76]) by mx.google.com with ESMTPS id j3sm19660297wiw.1.2012.03.23.00.37.04 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 23 Mar 2012 00:37:05 -0700 (PDT) From: =?UTF-8?q?Beno=C3=AEt=20Canet?= To: qemu-devel@nongnu.org Date: Fri, 23 Mar 2012 08:36:53 +0100 Message-Id: <1332488214-4685-7-git-send-email-benoit.canet@gmail.com> X-Mailer: git-send-email 1.7.7.6 In-Reply-To: <1332488214-4685-1-git-send-email-benoit.canet@gmail.com> References: <1332488214-4685-1-git-send-email-benoit.canet@gmail.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 74.125.82.53 Cc: kwolf@redhat.com, pbonzini@redhat.com, =?UTF-8?q?Beno=C3=AEt=20Canet?= , stefanha@linux.vnet.ibm.com Subject: [Qemu-devel] [PATCH V3 6/7] qed: honor BDRV_O_INCOMING for incoming live migration X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From original commit with Patchwork-id: 31108 by Stefan Hajnoczi "The QED image format includes a file header bit to mark images dirty. QED normally checks dirty images on open and fixes inconsistent metadata. This is undesirable during live migration since the dirty bit may be set if the source host is modifying the image file. The check should be postponed until migration completes. Skip operations that modify the image file if the BDRV_O_INCOMING flag is set." Signed-off-by: Benoit Canet --- block/qed.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/block/qed.c b/block/qed.c index e32f598..4a53db6 100644 --- a/block/qed.c +++ b/block/qed.c @@ -450,7 +450,7 @@ static int bdrv_qed_open(BlockDriverState *bs, int flags) * feature is no longer valid. */ if ((s->header.autoclear_features & ~QED_AUTOCLEAR_FEATURE_MASK) != 0 && - !bdrv_is_read_only(bs->file)) { + !bdrv_is_read_only(bs->file) && !(flags & BDRV_O_INCOMING)) { s->header.autoclear_features &= QED_AUTOCLEAR_FEATURE_MASK; ret = qed_write_header_sync(s); @@ -477,7 +477,8 @@ static int bdrv_qed_open(BlockDriverState *bs, int flags) * potentially inconsistent images to be opened read-only. This can * aid data recovery from an otherwise inconsistent image. */ - if (!bdrv_is_read_only(bs->file)) { + if (!bdrv_is_read_only(bs->file) && + !(flags & BDRV_O_INCOMING)) { BdrvCheckResult result = {0}; ret = qed_check(s, &result, true);