From patchwork Tue May 10 02:50:49 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fam Zheng X-Patchwork-Id: 9053661 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id B038ABF29F for ; Tue, 10 May 2016 02:59:27 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0464F20142 for ; Tue, 10 May 2016 02:59:27 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 81309200ED for ; Tue, 10 May 2016 02:59:25 +0000 (UTC) Received: from localhost ([::1]:44154 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1azxtM-0007kQ-QA for patchwork-qemu-devel@patchwork.kernel.org; Mon, 09 May 2016 22:59:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59273) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1azxmT-0001xf-Rw for qemu-devel@nongnu.org; Mon, 09 May 2016 22:52:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1azxmS-0004pT-Jt for qemu-devel@nongnu.org; Mon, 09 May 2016 22:52:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49023) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1azxmO-0004lH-H5; Mon, 09 May 2016 22:52:12 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F37A9148DE; Tue, 10 May 2016 02:52:11 +0000 (UTC) Received: from ad.usersys.redhat.com (dhcp-15-133.nay.redhat.com [10.66.15.133]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u4A2ovV4023061; Mon, 9 May 2016 22:52:08 -0400 From: Fam Zheng To: qemu-devel@nongnu.org Date: Tue, 10 May 2016 10:50:49 +0800 Message-Id: <1462848659-28659-18-git-send-email-famz@redhat.com> In-Reply-To: <1462848659-28659-1-git-send-email-famz@redhat.com> References: <1462848659-28659-1-git-send-email-famz@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Tue, 10 May 2016 02:52:12 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v4 17/27] block: Don't lock drive-backup target image in none mode X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , qemu-block@nongnu.org, rjones@redhat.com, John Snow , Jeff Cody , Markus Armbruster , Max Reitz , stefanha@redhat.com, den@openvz.org, pbonzini@redhat.com Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP As a very special case, in sync=none mode, the source, as the backing image of the target, will be RO opened again, which is not accepted by image locking because the first open could be exclusive. Signed-off-by: Fam Zheng --- blockdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/blockdev.c b/blockdev.c index 200fa56..e3882d6 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3243,6 +3243,11 @@ static void do_drive_backup(const char *device, const char *target, } } if (sync == MIRROR_SYNC_MODE_NONE) { + /* XXX: bs will be open second time as the backing file of target, + * disable image locking. Once block layer allows sharing backing BDS, + * Change below to BDRV_O_NO_BACKING and assign it after bdrv_open(). + * */ + flags |= BDRV_O_NO_LOCK; source = bs; }