From patchwork Thu Apr 28 12:57:36 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fam Zheng X-Patchwork-Id: 8969941 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 998649F1C1 for ; Thu, 28 Apr 2016 13:08:22 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 124B5202D1 for ; Thu, 28 Apr 2016 13:08:22 +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 64CEB202A1 for ; Thu, 28 Apr 2016 13:08:21 +0000 (UTC) Received: from localhost ([::1]:48838 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avlg4-0006Fb-FY for patchwork-qemu-devel@patchwork.kernel.org; Thu, 28 Apr 2016 09:08:20 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32882) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avlX9-0003Lp-MR for qemu-devel@nongnu.org; Thu, 28 Apr 2016 08:59:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1avlX8-0000aF-Tn for qemu-devel@nongnu.org; Thu, 28 Apr 2016 08:59:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58384) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avlX7-0000ZK-33; Thu, 28 Apr 2016 08:59:05 -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 A046E345586; Thu, 28 Apr 2016 12:59:04 +0000 (UTC) Received: from lemon.redhat.com (vpn1-5-154.pek2.redhat.com [10.72.5.154]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u3SCvWNK001193; Thu, 28 Apr 2016 08:59:00 -0400 From: Fam Zheng To: qemu-devel@nongnu.org Date: Thu, 28 Apr 2016 20:57:36 +0800 Message-Id: <1461848266-32119-18-git-send-email-famz@redhat.com> In-Reply-To: <1461848266-32119-1-git-send-email-famz@redhat.com> References: <1461848266-32119-1-git-send-email-famz@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 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 v3 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, Jeff Cody , Markus Armbruster , Max Reitz , stefanha@redhat.com, den@openvz.org, pbonzini@redhat.com, John Snow 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; }