From patchwork Fri Jun 3 08:49:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fam Zheng X-Patchwork-Id: 9152275 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id B089460751 for ; Fri, 3 Jun 2016 08:51:03 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A47B52675C for ; Fri, 3 Jun 2016 08:51:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 97DB628309; Fri, 3 Jun 2016 08:51:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 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.wl.linuxfoundation.org (Postfix) with ESMTPS id 14F29282E8 for ; Fri, 3 Jun 2016 08:51:03 +0000 (UTC) Received: from localhost ([::1]:53398 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8koo-0007Qx-8t for patchwork-qemu-devel@patchwork.kernel.org; Fri, 03 Jun 2016 04:51:02 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55240) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8koF-0007Nc-9b for qemu-devel@nongnu.org; Fri, 03 Jun 2016 04:50:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b8koD-00021y-FL for qemu-devel@nongnu.org; Fri, 03 Jun 2016 04:50:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45573) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b8ko7-00020x-4d; Fri, 03 Jun 2016 04:50:19 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (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 62C7C7AE91; Fri, 3 Jun 2016 08:50:18 +0000 (UTC) Received: from ad.usersys.redhat.com (dhcp-15-133.nay.redhat.com [10.66.15.133]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u538nKXx023508; Fri, 3 Jun 2016 04:50:14 -0400 From: Fam Zheng To: qemu-devel@nongnu.org Date: Fri, 3 Jun 2016 16:49:07 +0800 Message-Id: <1464943756-14143-14-git-send-email-famz@redhat.com> In-Reply-To: <1464943756-14143-1-git-send-email-famz@redhat.com> References: <1464943756-14143-1-git-send-email-famz@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Fri, 03 Jun 2016 08:50:18 +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 v6 13/22] 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-Virus-Scanned: ClamAV using ClamSMTP As a very special case, in sync=none mode, the source is the backing image of the target, which will be RO opened again. This won't work with image locking because the first open could be exclusive. Signed-off-by: Fam Zheng Reviewed-by: Max Reitz --- blockdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/blockdev.c b/blockdev.c index 5acb286..fa8b50c 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3256,6 +3256,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; }