From patchwork Fri May 15 12:40:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 282666 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B823C433E1 for ; Fri, 15 May 2020 12:42:24 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C8FC62074D for ; Fri, 15 May 2020 12:42:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="EH6ktoqv" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C8FC62074D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:52758 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jZZfT-00048Q-1O for qemu-devel@archiver.kernel.org; Fri, 15 May 2020 08:42:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44898) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZZe8-0002GH-6W; Fri, 15 May 2020 08:41:00 -0400 Received: from mail-eopbgr150102.outbound.protection.outlook.com ([40.107.15.102]:11310 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZZe7-0008VJ-C2; Fri, 15 May 2020 08:40:59 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GPxYtKYD3wTT0zxzP5qJbw7b5HNHdexxrKywFZZ3L4odM5dHlzNgbYnCdzSrjEpS7/ZED1J29rsgsP5gJm/YuqHM6q7OlH3JYdTfFLXx4oUsegk15Dq6D8eFswNMDyOmqBprBleWM3T8wNgYRVN3oaLQw01nJhRLhJzbwQdPAgdANzAnrJ7Hnqmrv0y4LpE1bHSLdjnGWVmmPqqfWFv9fuhZMaif+mChwfS7x0pxt4/X9QCZ2J09D6I9eULUPhzogqFyNpDYzSUgWdL9a2Ko2DgE5rra6FdY/oMFgi8boJMG1/JgcfmDQrfNwhAEWUhnGjMUez4z1WbDhIGpC5YK/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2j3vYlF8ouVHCyr0TlU8c2rQmh/Y1bVh8akJN12+3SE=; b=EFxrDHdOqP9nyjUjvCzN6/SJFxeVBIJM5nIRMdHR2XKGW/j5AenuppkOJBYgSfSx+XFD4VqDAyrITgZiWhEX8DfIpycH/CLTHzLhnCEkWWP3MgspNtBEdLfDTb2dnZB5SLRqg6oBSp8D0RuY8d4FPOe5ue0osyYAC9BO99i7Egy5CXlXIK1MXJrYt/jyXUoQh0Rv5wtSWznudXcgxkS3GYruKyrWQxdW4JcbJQoklkcRryhFPLRw8GlsXs2v8C0oRu4FRkHOzd+RrdVA63UQeIR77mgaxZ9IKPzeoY4uNiHWZv5KvUckvT1vAujgVGLGn9Wg+psHhKTiXBMorNcKWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2j3vYlF8ouVHCyr0TlU8c2rQmh/Y1bVh8akJN12+3SE=; b=EH6ktoqvvGJcXzQStlGQPh53BPY6AzuC01YeoIGZe5CkcWXiyyLAK6ImB1Yfx2hCQQawN704ZfYgfXY10kUuElhky0e4NAUqUCvBVbbR1/Q9OJDEsRTKf4SjloPISVmJOMpQYsVSkCdWIEz4ePCF9FkHVPhklLhMQCp8Mm8QRus= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none; nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM7PR08MB5381.eurprd08.prod.outlook.com (2603:10a6:20b:105::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.26; Fri, 15 May 2020 12:40:54 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::acfa:5:88c8:b7b9]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::acfa:5:88c8:b7b9%4]) with mapi id 15.20.3000.016; Fri, 15 May 2020 12:40:54 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v3 3/7] block/dirty-bitmap: add bdrv_has_named_bitmaps helper Date: Fri, 15 May 2020 15:40:20 +0300 Message-Id: <20200515124024.3491-4-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20200515124024.3491-1-vsementsov@virtuozzo.com> References: <20200515124024.3491-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AM0PR03CA0039.eurprd03.prod.outlook.com (2603:10a6:208::16) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.184) by AM0PR03CA0039.eurprd03.prod.outlook.com (2603:10a6:208::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20 via Frontend Transport; Fri, 15 May 2020 12:40:52 +0000 X-Mailer: git-send-email 2.21.0 X-Originating-IP: [185.215.60.184] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 563e9b7c-29ce-4daf-35f6-08d7f8cd34ff X-MS-TrafficTypeDiagnostic: AM7PR08MB5381: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:18; X-Forefront-PRVS: 04041A2886 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: D5cli5e+nbm+RqnpoT9JYlnexO2ic38so+vOmWN+M3+VFKOUWoC6F2jJ1cQL705MufJLNQaVk3Irn25+wlqWAnucImdqVqQvOTyuT8oNg/qbOPJmbt6aEsxZZ6G3W9p4mqOc3McJ9TFZ7x0KB45vLovA2JGM2uFaXEu4Nxn7ei46wtlvE+K+rnOl+TwARMepFakFgpfJcPPxMJiguPfk1WFWxcngKP5cY9iK8zBnmCksPmeJ9FAJV4XZYfGlVycBXilPZdnNSqzsFlvD+O7L0gwiubug+Dh0qPAGNEzRvvlcSXjUHR3WdG8//LR9/tllTQbwowsuX1mctZ3rqtPRs2jv40PstMPks7Y58R/BYjhapZaKsehgoZKSDM0U/BOvNhb4UBVfrZOEfmqDqNIlE3Lm5kSdNRX306kt323Db8mzfw2Fgqgvxal9wIc3opQX1dcelwfQmxGYdLCu8YGximiD8maZ1qXkz8s1Oyqj7SpyiQrXgo+8zwI12zKRKVPp X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(376002)(136003)(346002)(396003)(39840400004)(52116002)(6486002)(36756003)(8676002)(7416002)(8936002)(6916009)(478600001)(6666004)(86362001)(6512007)(4326008)(316002)(107886003)(26005)(5660300002)(16526019)(186003)(6506007)(2616005)(2906002)(1076003)(956004)(66556008)(66946007)(66476007)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: Mzx3wQ/DZv9mb3oJxwp0LVogn3y4lhIz9YLSRPZvN/5u+thBNEtCbFQHZ4Ai0PQP41DY3qqAibmwO2mtXRrFyCaVCrW8KSnbf0z54AtwAK4Qz/U8QeKSM7qSVtYy7rXPJNu6XSdbP6XhE1SbU0TM+iyH6VySO/9ySDIhboG1eyzSnCU3RgiKlVjQzKmibtnxSmvu6gIRjEJ4winehr+cJjo1C67N2oaa47ZBEIAflBsb6cKtMZ5e2GJ/sUwIjUmnUdGyX0kXBV6zqpkqkLi1y6xxT6WYGzfpPdW315BVuXQ1boBt+V9J+ET+FWKlj++Ar1tWrsLJRQ5dXIFANnN6ONjGlmRi/F1nGZ7ncuQh9G27vkvasdm7nHfN/RT0NfaObBJbyWFDq9Jnvpl3hiCnkb7h8+lS+Bu2hwBVEOTBKqMu1SJiFaOnvCNz643/B5lPCMgRf5ODpdRJHu6qoKrLvbmPmZLtmRT3U3p21sbM3u8= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 563e9b7c-29ce-4daf-35f6-08d7f8cd34ff X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2020 12:40:53.9031 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WnymRgIWMWOrpTlaPFY6Eiu1nO4aQA09jWQKUL26HjqbDyBwVFxEU78i4WPjm+87CyFNguFiqJHPd9z3CdPLEPTR3TZb/wJNAh2av6GdXCo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5381 Received-SPF: pass client-ip=40.107.15.102; envelope-from=vsementsov@virtuozzo.com; helo=EUR01-DB5-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/15 08:40:51 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, fam@euphon.net, vsementsov@virtuozzo.com, stefanha@redhat.com, quintela@redhat.com, qemu-devel@nongnu.org, dgilbert@redhat.com, mreitz@redhat.com, Andrey Shinkevich , pavel.dovgaluk@ispras.ru, den@openvz.org, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" To be used for bitmap migration in further commit. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Andrey Shinkevich Reviewed-by: Eric Blake --- include/block/dirty-bitmap.h | 1 + block/dirty-bitmap.c | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/include/block/dirty-bitmap.h b/include/block/dirty-bitmap.h index 8a10029418..eee70df873 100644 --- a/include/block/dirty-bitmap.h +++ b/include/block/dirty-bitmap.h @@ -94,6 +94,7 @@ int64_t bdrv_get_dirty_count(BdrvDirtyBitmap *bitmap); void bdrv_dirty_bitmap_truncate(BlockDriverState *bs, int64_t bytes); bool bdrv_dirty_bitmap_readonly(const BdrvDirtyBitmap *bitmap); bool bdrv_has_readonly_bitmaps(BlockDriverState *bs); +bool bdrv_has_named_bitmaps(BlockDriverState *bs); bool bdrv_dirty_bitmap_get_autoload(const BdrvDirtyBitmap *bitmap); bool bdrv_dirty_bitmap_get_persistence(BdrvDirtyBitmap *bitmap); bool bdrv_dirty_bitmap_inconsistent(const BdrvDirtyBitmap *bitmap); diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c index 063793e316..c788ca7c69 100644 --- a/block/dirty-bitmap.c +++ b/block/dirty-bitmap.c @@ -809,6 +809,19 @@ bool bdrv_has_readonly_bitmaps(BlockDriverState *bs) return false; } +bool bdrv_has_named_bitmaps(BlockDriverState *bs) +{ + BdrvDirtyBitmap *bm; + + QLIST_FOREACH(bm, &bs->dirty_bitmaps, list) { + if (bdrv_dirty_bitmap_name(bm)) { + return true; + } + } + + return false; +} + /* Called with BQL taken. */ void bdrv_dirty_bitmap_set_persistence(BdrvDirtyBitmap *bitmap, bool persistent) { From patchwork Fri May 15 12:40:21 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 282665 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 47E97C433E0 for ; Fri, 15 May 2020 12:42:43 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1161A2074D for ; Fri, 15 May 2020 12:42:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="DJrGsh8S" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1161A2074D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:54608 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jZZfm-0004t3-8E for qemu-devel@archiver.kernel.org; Fri, 15 May 2020 08:42:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44902) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZZe9-0002JC-Lk; Fri, 15 May 2020 08:41:01 -0400 Received: from mail-eopbgr150102.outbound.protection.outlook.com ([40.107.15.102]:11310 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZZe8-0008VJ-NB; Fri, 15 May 2020 08:41:01 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XG5rfqtWFwh+zLMNNPhW2dyWQmAX7mvNKAbdXqWAC8n0GM+yxyC/yNDuMdTb6xYfAWNIc+9e0PWKMNualHmIN0tOgsEbO81RJE3IcZE4EcpUHpYHePwzmX7A47NdUrgm0oAB1pQzRDPfjigOlWovovjLZZU4W0rvWKAmgjN2tio3vUpDQEzjyl4P8vum3tyK0/TKznW0PMzPKvBbW5rTBgwGFyUepCDe4u3LE5Ni1d14wQg2ykOCrH2MfVCtzBX2LJ5GuhPhmYudqpmsATL4SlJDXtsny5N6iMPgRNlEDFgbe0Wkl34NWzZA/UHIlfNJiBV9R6pi1DPKzPv+EDE8PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gmc/XpWgSeGM+jz+wZTMIXDkI4JbzA56RY4ag+n3NG8=; b=DZoLJTWkHuMj68EZG5rnMlUPu4icSpIXxzYkZ2hb0AH8+F+9ueCKX+AA1Ul5F3rJkBjD0NiWKBXGZlHC/i/tOPmzCe0eDPaKWpvwK1+xvE1DnlwJ833SvWRxG8Jg7w5TsANeebVyQcTNOpfbiLOPgZu7v808RxSmZQ0Onmb2N0VVGAGD5ZLRp+5MgMUxWooDGsZSN1vY/7CwkDeDbQtl8O68RNEGYg41SsqH+qu0qYD+d/+iue1FM9nrsfdweP/D1IikasK/CwcmUTDkSjtSKgnY6VgNsY/TxU0Vx1UdqzFH1XRrmw87ihKuOYvTSmFLFQHYaQDPzJd3vlKbdG6+1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gmc/XpWgSeGM+jz+wZTMIXDkI4JbzA56RY4ag+n3NG8=; b=DJrGsh8S9l96Dm+HkFjqFbkoOGgMA7SxuSZF267x52DKqzBa4mh2dy9SsLmjW2ZNN3N8ALy2mNsLX/RGJtRPv19J3eKOsEjHFtL0dSlwDtFzOidpTDBacwZc+fNkKoDHF+w8tSSdnEOh7zIQRM5U0uhCVa9dIotoV3s2hmod/Ok= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none; nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM7PR08MB5381.eurprd08.prod.outlook.com (2603:10a6:20b:105::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.26; Fri, 15 May 2020 12:40:55 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::acfa:5:88c8:b7b9]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::acfa:5:88c8:b7b9%4]) with mapi id 15.20.3000.016; Fri, 15 May 2020 12:40:55 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v3 4/7] migration/block-dirty-bitmap: fix bitmaps pre-blockdev migration during mirror job Date: Fri, 15 May 2020 15:40:21 +0300 Message-Id: <20200515124024.3491-5-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20200515124024.3491-1-vsementsov@virtuozzo.com> References: <20200515124024.3491-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AM0PR03CA0039.eurprd03.prod.outlook.com (2603:10a6:208::16) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.184) by AM0PR03CA0039.eurprd03.prod.outlook.com (2603:10a6:208::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20 via Frontend Transport; Fri, 15 May 2020 12:40:54 +0000 X-Mailer: git-send-email 2.21.0 X-Originating-IP: [185.215.60.184] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 07a8ec2d-ce50-4bff-dc42-08d7f8cd35fb X-MS-TrafficTypeDiagnostic: AM7PR08MB5381: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1850; X-Forefront-PRVS: 04041A2886 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HWq/8mbXRXBnfV5qVB/GtWeL7sm+jlqcnwdo10rTCyqtdbIjrGAqoEy2yatUR2h+cZhnrfCaowzEp1VT2lth/WHjITLpWQrK+SLnMpEbrckEAhQwpsZRfMlYVC/Lja4tZDPhPiOYFLjp3tK2JR7xo1sUPwAFyNxd3dXe+XelguIqy5gVmsYOB26ozqbCFQIetKInvlggvVCQs7RSo06tiQeNBVFK3skMS0Xz7daccJ7VlEuUpD2Tcc4uKyXJd50XkOYECHfjKPrnqeTMau/xltv3l+uVaOnuVHBXO4+sZM65dhKthugEtWjvZu7E8iUQza5e/wGeTFTiKy6p50dHs87U7hv8OVFhI3Q7HWEKpsvWs4zWiz8y3B+8scic9esRySsPhvAhhHFc4Z6z6vDm35K/pukGExYEjgs7FbKm6i4vn+iByf/sImMVTVpgOhswO8b/9sJw0tyTbnMjnYk0SjRIWLz5eOg//jq+JRH5j4Qg8pGsxjXlHfv/4VnPgUrWDB/E3Gf/QN6CHrcR9PJcBzXKDrYhB4dkkLRmcqHUH061P9mZPO8kdAqDCxmy3Q4i X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(376002)(136003)(346002)(396003)(39840400004)(52116002)(6486002)(36756003)(8676002)(7416002)(8936002)(6916009)(478600001)(6666004)(86362001)(966005)(6512007)(4326008)(316002)(26005)(5660300002)(16526019)(186003)(6506007)(2616005)(2906002)(1076003)(956004)(66556008)(66946007)(66476007)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: is1iqEDcgcdldWI/OKNWrGtI6YJOEf/tVSvQYpPbwulnf8Ts+TKslUBES/LrSSltCzNLjx2HxlrblQqH+ojnKLCPH7PH1Hr+I4ZnvRyGR1wXW9JRbc1QpPoAKO3KCOfXAuZOcyIWo5H9y0hOollqTCyYFqyf1x0TgxOksEH0BHzRtBka2ZWsYZ+68gJZTMvfwZmkAOfniiX+OGGnGIv0fKjVIsXZjgVnvkaLKTxG6PgfPMKZcdncJ7N0KMwk4Pbk1HWfSwd5KpWa84Z42OOVgY7Cy8nVY1ILnThYJsAPMcGpvQV2x4VLgyD6+5tWKBJKYphucbCUfP3b7HMEdLR+2ZapdntjF2excQr4yAFW092r1pU42eiMIaxRLuZ2+apTo+7VcpBMko+R35MrDkg8s9QZr0V8BWKSieeT0D9bbevLUtoY3Ss5D9sOa/+Op8eQwwfDHwgHUlUCkKn+wIKedO65FGEGyg1Tf+CkoEgrMBw= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 07a8ec2d-ce50-4bff-dc42-08d7f8cd35fb X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2020 12:40:55.5290 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: G8TQsqBNgbNz6UUQLFo1IquRzoX+vm2YZ++5xGFszKRbcsnVcbI5y3EnU6nYvpntpZUgZNTpjioMsyf9CBLihlZMudVQas8kvjT0rfNFKXM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5381 Received-SPF: pass client-ip=40.107.15.102; envelope-from=vsementsov@virtuozzo.com; helo=EUR01-DB5-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/15 08:40:51 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, fam@euphon.net, vsementsov@virtuozzo.com, stefanha@redhat.com, quintela@redhat.com, qemu-devel@nongnu.org, dgilbert@redhat.com, mreitz@redhat.com, pavel.dovgaluk@ispras.ru, den@openvz.org, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Important thing for bitmap migration is to select destination block node to obtain the migrated bitmap. Prepatch, on source we use bdrv_get_device_or_node_name() to identify the node, and on target we do bdrv_lookup_bs. bdrv_get_device_or_node_name() returns blk name only for direct children of blk. So, bitmaps of direct children of blks are migrated by blk name and others - by node name. Old libvirt is unprepared to bitmap migration by node-name, node-names are mostly auto-generated. So actually only migration by blk name works for it. Newer libvirt will use new interface (which will be added soon) to specify node-mapping for bitmaps migration explicitly. Still, let's improve the current behavior a bit. Now, consider classic libvirt migrations assisted by mirror block job: mirror block job inserts filter, so our source is not a direct child of blk, and bitmaps are migrated by node-names. And this just don't work with auto-generated node names Let's fix it by allowing use blk-name even if some implicit filters are inserted. Note2: we, of course, can't skip filters and use blk name to migrate bitmaps in filtered node by blk name for this blk if these filters have named bitmaps which should be migrated. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1652424 Signed-off-by: Vladimir Sementsov-Ogievskiy --- migration/block-dirty-bitmap.c | 39 +++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c index 7e93718086..5d3a7d2b07 100644 --- a/migration/block-dirty-bitmap.c +++ b/migration/block-dirty-bitmap.c @@ -319,14 +319,48 @@ static int init_dirty_bitmap_migration(void) { BlockDriverState *bs; DirtyBitmapMigBitmapState *dbms; + GHashTable *handled_by_blk = g_hash_table_new(NULL, NULL); + BlockBackend *blk; dirty_bitmap_mig_state.bulk_completed = false; dirty_bitmap_mig_state.prev_bs = NULL; dirty_bitmap_mig_state.prev_bitmap = NULL; dirty_bitmap_mig_state.no_bitmaps = false; + /* + * Use blockdevice name for direct (or filtered) children of named block + * backends. + */ + for (blk = blk_next(NULL); blk; blk = blk_next(blk)) { + const char *name = blk_name(blk); + + if (!name || strcmp(name, "") == 0) { + continue; + } + + bs = blk_bs(blk); + + /* Skip filters without bitmaos */ + while (bs && bs->drv && bs->drv->is_filter && + !bdrv_has_named_bitmaps(bs)) + { + bs = bs->backing->bs ?: bs->file->bs; + } + + if (bs && bs->drv && !bs->drv->is_filter) { + if (add_bitmaps_to_list(bs, name)) { + goto fail; + } + g_hash_table_add(handled_by_blk, bs); + } + } + for (bs = bdrv_next_all_states(NULL); bs; bs = bdrv_next_all_states(bs)) { - if (add_bitmaps_to_list(bs, bdrv_get_device_or_node_name(bs))) { + if (g_hash_table_contains(handled_by_blk, bs)) { + continue; + } + + if (add_bitmaps_to_list(bs, bdrv_get_node_name(bs))) { goto fail; } } @@ -340,9 +374,12 @@ static int init_dirty_bitmap_migration(void) dirty_bitmap_mig_state.no_bitmaps = true; } + g_hash_table_destroy(handled_by_blk); + return 0; fail: + g_hash_table_destroy(handled_by_blk); dirty_bitmap_mig_cleanup(); return -1; From patchwork Fri May 15 12:40:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 282664 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C29E1C433E0 for ; Fri, 15 May 2020 12:45:15 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 860662074D for ; Fri, 15 May 2020 12:45:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="ALjeddDg" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 860662074D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:35694 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jZZiE-0000Vb-Kc for qemu-devel@archiver.kernel.org; Fri, 15 May 2020 08:45:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44914) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZZeD-0002PX-DA; Fri, 15 May 2020 08:41:05 -0400 Received: from mail-eopbgr150102.outbound.protection.outlook.com ([40.107.15.102]:11310 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZZeC-0008VJ-AW; Fri, 15 May 2020 08:41:05 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=clAKot/fn4znR6Gk7K7XqgqT2WxEGMfnWN+5if1YIFUXTTMR008DsPmRRTpGHEmLidqyncU8FWqq5BZ0uHtOJMAaGsZLObM29zI7OGx9VOPW2lIOhQfTEjLA36GIYNgKkXajVBw25Yk0nzTPZPqxVvnkoqWvHj9gOXqPKl/lj4qQ7MVy7SBkN5Ff/pW3mlP84SA9Zf3Fy17RRG+YgqyL5gK5yy13rwML/vD+vxv6ZHRKHTS2WbNnDGfVrt7aXcrlqMMHEE8yX9uO1LStgoztttAMNXGu9N6hBBNbvZielV8xAGJx3YtM1v8to2NhuF6QSLuUlnjMJ86jliFOJkXNsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KoR51FPmK9iPU+aqvkBnJNpHY102FTaddia2Fp3H8sg=; b=dVCh6MlTqAxYUz9VX9YtgKuhU2eKj6yVPOIlu4do/Dtn9LvR1PBjNjvRXDYHUB82lDXm/cG0If0Ke1qlWJlM2YiNgsbEwQ2xk+B5P6Y1KIx0iQr+/Yc0//OQmidWfQ5ifLE6KjwXD7mhO8rYU1MYJ9f78Efyl/i4KVSquyIKi+Yw/x9Keqnt6P2PlijCCiZLIK+clqIwd6w2lZgqm+aN8V7EHXwrehzPTL9eiuX5V/MjRm1myjo5QO/SqYPcSvlqi6HvU6Xq9MnZ3+6uGLQ8MFSK2tpilKBsbePuJwjtEF3Nj6ITYAweRWnE/h7jB7bUO3zr7ePFjxjDT60/ymOgZg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KoR51FPmK9iPU+aqvkBnJNpHY102FTaddia2Fp3H8sg=; b=ALjeddDgW3WqoEcI9/F3BWmz56seqWlBq0bHnmCqL2y9+TSW/R5UuOeVOxI0EgwNGSJ2DhNUnvLVLdC0DqHRnI9lgg/LoiwyB71n/imUVbZapTy0Br0ueOEEP9b8hXR68EZnoBXxcByl8VWEuJkJx0mvQDP5DII51NUIljFUmAo= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none; nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM7PR08MB5381.eurprd08.prod.outlook.com (2603:10a6:20b:105::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.26; Fri, 15 May 2020 12:40:58 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::acfa:5:88c8:b7b9]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::acfa:5:88c8:b7b9%4]) with mapi id 15.20.3000.016; Fri, 15 May 2020 12:40:58 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v3 6/7] migration/block-dirty-bitmap: add_bitmaps_to_list: check disk name once Date: Fri, 15 May 2020 15:40:23 +0300 Message-Id: <20200515124024.3491-7-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20200515124024.3491-1-vsementsov@virtuozzo.com> References: <20200515124024.3491-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AM0PR03CA0039.eurprd03.prod.outlook.com (2603:10a6:208::16) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.184) by AM0PR03CA0039.eurprd03.prod.outlook.com (2603:10a6:208::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20 via Frontend Transport; Fri, 15 May 2020 12:40:56 +0000 X-Mailer: git-send-email 2.21.0 X-Originating-IP: [185.215.60.184] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9f47c8cc-88dd-42e7-e23c-08d7f8cd376c X-MS-TrafficTypeDiagnostic: AM7PR08MB5381: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8; X-Forefront-PRVS: 04041A2886 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +YiIjw5L03lr/ah5BESd1h09Xai7Nnmrw8u+7HMRCaLZrXxSPxDN8aX084vWuQixgBbexyaIXP1YdEoUVwP1+YDpNFzyFh+CSTIEi1mndf2hjWRoqgCT94ERA0/xgTC9FZKAhWMGn3fow8Lss8pSGdBdJ46Diuwi4uXlrNhp3NWKpaBIv4ZcYDa8ILArWR/8K1X+iSO5fwN+iTBUXUbvdzSGIwdAqP7WWW8C0t5DOxeZtQDrcUv9DOfNtknvC3s2nPz84b8HacW/v7Hx7Yg28gbUcN/CqMzCZkEC+CTKM5lonFQDV9D6HxZO7GIAs1RP15A7WpN+/Tx5dbXcpsW5sgwoFAsWHWQpJwTJE9ZQaFbfp6/lCZcJpr2ciX8VksyigyUyNjojKcOtOeZ3QovMeX4YUsNHbQSpiDF7mSA2UcnMPDtKTjigKCLm6Nu3qRfig6bP8GF+MA3WyFBHIezw+ty1O0zpuKc4eDjs0dRiZXY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(376002)(136003)(346002)(396003)(39840400004)(52116002)(6486002)(36756003)(8676002)(7416002)(8936002)(6916009)(478600001)(6666004)(86362001)(6512007)(4326008)(316002)(107886003)(26005)(5660300002)(16526019)(186003)(6506007)(2616005)(2906002)(1076003)(956004)(66556008)(66946007)(66476007)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: jUMBTK63BFYIXV65bYMkLNo5e0eG08k7xfBZqIKUxdXurQKK5xwctadptwwF53RvUV6gNSm98SDM7+DlP3VMy4R36JftHxxJj3QGq+PsX2RJce1R8ZmUdFZywleItUaN7pmvz/gKuqqqWNTlGwINtzjtL3HNgh6dUBW7OcC6w9YihFBxHiZfULOu9A07gxuHs2r5hslbUpQnzwrLcIXbExNXz2EpRaEk2vhxCwh9te/ITNsvKbK1hANLrt60ll4BOyOWQlw2sI2kYADDJh/o0tZ1ZeL2uCohzqVTqlXgn7gSp6f7+PDzZeAHdae/FKFgPcG3Tjy34ca7D1mvms2ao8TXZHOHjTjm5uIUtKZIs2WAXrIxRVzC83YBQ4DrxGYkiQSmTgFzBSfNYXrc9VjClNu3/u6lAUymvrLp0qbBIgxG+bxLUp5THnepPXFEvqX+KT+kZswR2WqnREpYFnw81wxziRSQSG5twzSYVrUlOME= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f47c8cc-88dd-42e7-e23c-08d7f8cd376c X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2020 12:40:57.9286 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xD3K89714+YIrSJ/ROwJWzEUFkP4J0fyWDOFrYb6Go4mK5mBX6lJ/RZ6+c585aW7X22DJTL4b046nK8m6kpJpedJp9EJJEVb/LA2mZZ1d+I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5381 Received-SPF: pass client-ip=40.107.15.102; envelope-from=vsementsov@virtuozzo.com; helo=EUR01-DB5-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/15 08:40:51 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, fam@euphon.net, vsementsov@virtuozzo.com, stefanha@redhat.com, quintela@redhat.com, qemu-devel@nongnu.org, dgilbert@redhat.com, mreitz@redhat.com, Andrey Shinkevich , pavel.dovgaluk@ispras.ru, den@openvz.org, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Andrey Shinkevich --- migration/block-dirty-bitmap.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c index 5d3a7d2b07..e0e081ce60 100644 --- a/migration/block-dirty-bitmap.c +++ b/migration/block-dirty-bitmap.c @@ -274,17 +274,22 @@ static int add_bitmaps_to_list(BlockDriverState *bs, const char *bs_name) DirtyBitmapMigBitmapState *dbms; Error *local_err = NULL; + bitmap = bdrv_dirty_bitmap_first(bs); + if (!bitmap) { + return 0; + } + + if (!bs_name || strcmp(bs_name, "") == 0) { + error_report("Found bitmap '%s' in unnamed node %p. It can't " + "be migrated", bdrv_dirty_bitmap_name(bitmap), bs); + return -1; + } + FOR_EACH_DIRTY_BITMAP(bs, bitmap) { if (!bdrv_dirty_bitmap_name(bitmap)) { continue; } - if (!bs_name || strcmp(bs_name, "") == 0) { - error_report("Found bitmap '%s' in unnamed node %p. It can't " - "be migrated", bdrv_dirty_bitmap_name(bitmap), bs); - return -1; - } - if (bdrv_dirty_bitmap_check(bitmap, BDRV_BITMAP_DEFAULT, &local_err)) { error_report_err(local_err); return -1; From patchwork Fri May 15 12:40:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Sementsov-Ogievskiy X-Patchwork-Id: 282663 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER, SIGNED_OFF_BY, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7A425C433E0 for ; Fri, 15 May 2020 12:48:01 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 415A520759 for ; Fri, 15 May 2020 12:48:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="nMSCjOk5" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 415A520759 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=virtuozzo.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:44666 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jZZku-0005Cb-Ck for qemu-devel@archiver.kernel.org; Fri, 15 May 2020 08:48:00 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44920) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZZeE-0002UN-Sy; Fri, 15 May 2020 08:41:06 -0400 Received: from mail-eopbgr150102.outbound.protection.outlook.com ([40.107.15.102]:11310 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jZZeD-0008VJ-VS; Fri, 15 May 2020 08:41:06 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Uo+Y7/dLEtZAbHZoFOoi72qFFzJJ/lZLqOxTOjiZ+3uMVV21n2vH6mN7mGqUWcICz4S/lrSHNgGAViWq9cg2xKythx5Poxi+clQ07oBas17YYAT06BtU2UmlMWIK7BURgsz5G7OjyTPXciQvbC2cvewy+9cKMux9dU4OYHB3NtXLE+IOc/z5OGHOMRSjhxNBNChanPhkLL4V0/gF8D+Byv4ikZMKYOZU/4vQ5OgTZyyrvugGROQcgx3WOSFCBr+AEiKfW8/2ttJgy/vmiorRPRnyxFBb90O12uidpcR4ncOyazRKp69mGBP/wp6VR9H9B+NZJtj6lSMizoQ+ycGa3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZSB2hKNLczbYc9ZqKMwDegweqQ1vr9FoUCy1i1/yrhY=; b=Y8MTdplWyJ9E58i+nqTR4yLhHE57Rd6c3jsnYevnBm3mgzAAInjdwx393F8vpbF/fUYVfPQNdaw5GpOCstTCIYcAKuf4FxxN9FdlLPSuh3arzrRGvYtfsnCGu1KpoLc8RCkvbXRBalQwq3XZ+BzkkC6+ikXfEhcU3Jazg4LvjuNesNFG+O1EohPfTeQsuv3IZziPCgQSlYKlhDfSJqA+5/eDT1HT6+ILVXXz99IDyDRZah6rTx60YHrZlJZOfYSn4Yu0wcMfYRBeDEoBu5BbGTb+5C38tpXz/S1Im+yK1/a19zI7L8dG+0z38KU+Mt/E0YAvN/oos1qAMZLgh97skA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZSB2hKNLczbYc9ZqKMwDegweqQ1vr9FoUCy1i1/yrhY=; b=nMSCjOk5Tg+RI2Mf9cH+6u0Jn5+1xDl1t1hbbQNB8aWTnU09e8pDyVQ8RxEqwwlsKFZsppmilKR7Xfpo8tCjyrJURX9cJlPoX9SYo7f7okfNw0lM1mhbw6Z0nOXpWF4CkiOK9oJKcL0X76l37t65tNBuqFxiiGJoYkk/NH38W6U= Authentication-Results: nongnu.org; dkim=none (message not signed) header.d=none; nongnu.org; dmarc=none action=none header.from=virtuozzo.com; Received: from AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) by AM7PR08MB5381.eurprd08.prod.outlook.com (2603:10a6:20b:105::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.26; Fri, 15 May 2020 12:40:59 +0000 Received: from AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::acfa:5:88c8:b7b9]) by AM7PR08MB5494.eurprd08.prod.outlook.com ([fe80::acfa:5:88c8:b7b9%4]) with mapi id 15.20.3000.016; Fri, 15 May 2020 12:40:59 +0000 From: Vladimir Sementsov-Ogievskiy To: qemu-block@nongnu.org Subject: [PATCH v3 7/7] migration/block-dirty-bitmap: forbid migration by generated node-name Date: Fri, 15 May 2020 15:40:24 +0300 Message-Id: <20200515124024.3491-8-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20200515124024.3491-1-vsementsov@virtuozzo.com> References: <20200515124024.3491-1-vsementsov@virtuozzo.com> X-ClientProxiedBy: AM0PR03CA0039.eurprd03.prod.outlook.com (2603:10a6:208::16) To AM7PR08MB5494.eurprd08.prod.outlook.com (2603:10a6:20b:dc::15) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from kvm.sw.ru (185.215.60.184) by AM0PR03CA0039.eurprd03.prod.outlook.com (2603:10a6:208::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20 via Frontend Transport; Fri, 15 May 2020 12:40:58 +0000 X-Mailer: git-send-email 2.21.0 X-Originating-IP: [185.215.60.184] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 40384dc3-e3ee-432d-8281-08d7f8cd3828 X-MS-TrafficTypeDiagnostic: AM7PR08MB5381: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:15; X-Forefront-PRVS: 04041A2886 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AUAgAEGaz9voBAd7c+WiVBi59q/g9HKmxhZaFka8AxrGtnodN4USYXXKKbCutG/z8tE3d+xGRchbehr4GX1tcsA1AJpVFYpeb6CXMd+EDeBUxOXi4WWw6m6MmRABriYpB3GtHvjVoxsjC32Mv1vLdyloPc7twbZu2FRAM1jb71ubrHc9+E6wsYJJZF5aueJlG1/6TQCcnLrc+byXn9sQ+H1+y3SpUCpWAJV9ZDhf8wh2RLWcySspATquvORVAZM+HPpPa76iVtVTDdKb6/c1Pk514JvJEmBxwndUrXGAp7BSUIOorMRlIZ+dLOR/LLUbGvo8Pe72l1T2cIB8CsORborx96bWktfz9I+6ZXvebP14iyWs7vbpfV7CuUCfPfapSbziwi3TNnCcCWy4tQkJmtiJ2SoH794vMWOeKRgyKZ1YU266xluU5PC9LCmXj9nj+1TcV1Qu3ak/+watjhuwDWCx5+J5Kl9J3FlRQCi00W0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR08MB5494.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(376002)(136003)(346002)(396003)(39840400004)(52116002)(6486002)(36756003)(8676002)(7416002)(8936002)(6916009)(478600001)(6666004)(86362001)(6512007)(4326008)(316002)(107886003)(26005)(5660300002)(16526019)(186003)(6506007)(4744005)(2616005)(2906002)(1076003)(956004)(66556008)(66946007)(66476007)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData: j4dCfSXhzIXKSGG5CbbQ8KFUbnCF9q3aseQdDhkHiRx7qaAbzwCttfrqN79gN3yaWOSdubUxad2MP8MRSt6rFOGUvK09dknXFkNz8KP5uOghHvBYrkCuV4+E1VwEBZtCHZI40D30v95M+sUywiU0+qNLKi2/ZShyuGpRDNDojGmi3novMjLLGVotR8FOFiYPHeC0xybR4ZdPOiCRd22ZFWENuS6aNfXKmC5A9Sdg2g8HjzHRz+bTN43uIBU4JT4LqAxoSgSQ6Gonwhl3xhdCsDo8Lc7jeG0ihMd3Ug4vCdhYIUENvhjHnel4ngo11JH9TSNsSzi6NIpuWaLOgIKpkHxjxHLdzICYslJwlnd4ur4i9j7/jfRk5kYmr+oARHRErFSM5qPTolVFnlf7WHcYptBJn4BNRgPCGRO02AV8h5CpjnazNJisgJOqx4k897yKgbGd7seap+U4D4z5eDdRJdVO2Qz+KtsdfI+++SC0LFc= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40384dc3-e3ee-432d-8281-08d7f8cd3828 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2020 12:40:59.1930 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ghieIhwabVWeVtyJKO0IrIVC7Z7a7qiTAWL2k3e9S1j42ypkMOgfMr1d1+d7CBPCB6S4KprbQGE0Tdbg0FKaasHMT8X8cNsKA4rdXvcILBs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5381 Received-SPF: pass client-ip=40.107.15.102; envelope-from=vsementsov@virtuozzo.com; helo=EUR01-DB5-obe.outbound.protection.outlook.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/15 08:40:51 X-ACL-Warn: Detected OS = Windows NT kernel [generic] [fuzzy] X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, fam@euphon.net, vsementsov@virtuozzo.com, stefanha@redhat.com, quintela@redhat.com, qemu-devel@nongnu.org, dgilbert@redhat.com, mreitz@redhat.com, Andrey Shinkevich , pavel.dovgaluk@ispras.ru, den@openvz.org, pbonzini@redhat.com, jsnow@redhat.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" It actually never worked with libvirt, as auto-generated names are different on source and destination. It's unsafe and useless to migrate by auto-generated node-names, so let's forbid it. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Andrey Shinkevich --- migration/block-dirty-bitmap.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c index e0e081ce60..f5744c35e6 100644 --- a/migration/block-dirty-bitmap.c +++ b/migration/block-dirty-bitmap.c @@ -285,6 +285,13 @@ static int add_bitmaps_to_list(BlockDriverState *bs, const char *bs_name) return -1; } + if (bs_name[0] == '#') { + error_report("Found bitmap '%s' in a node with auto-generated " + "name: %s. It can't be migrated", + bdrv_dirty_bitmap_name(bitmap), bs_name); + return -1; + } + FOR_EACH_DIRTY_BITMAP(bs, bitmap) { if (!bdrv_dirty_bitmap_name(bitmap)) { continue;