From mboxrd@z Thu Jan 1 00:00:00 1970 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=-3.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,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 53C44C282DD for ; Thu, 23 May 2019 15:50:17 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2AADA2175B for ; Thu, 23 May 2019 15:50:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2AADA2175B 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 ([127.0.0.1]:39279 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTpyy-0004T3-3D for qemu-devel@archiver.kernel.org; Thu, 23 May 2019 11:50:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53793) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTpwS-00038a-KH for qemu-devel@nongnu.org; Thu, 23 May 2019 11:47:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hTpwR-0007uY-Od for qemu-devel@nongnu.org; Thu, 23 May 2019 11:47:40 -0400 Received: from relay.sw.ru ([185.231.240.75]:34908) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hTpwR-0007tN-Hk; Thu, 23 May 2019 11:47:39 -0400 Received: from [10.94.3.0] (helo=kvm.qa.sw.ru) by relay.sw.ru with esmtp (Exim 4.91) (envelope-from ) id 1hTpwL-0002xl-Ft; Thu, 23 May 2019 18:47:33 +0300 From: Vladimir Sementsov-Ogievskiy To: qemu-devel@nongnu.org, qemu-block@nongnu.org Date: Thu, 23 May 2019 18:47:30 +0300 Message-Id: <20190523154733.54944-1-vsementsov@virtuozzo.com> X-Mailer: git-send-email 2.18.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 185.231.240.75 Subject: [Qemu-devel] [PATCH 0/3] qcow2-bitmaps: rewrite reopening logic 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: fam@euphon.net, kwolf@redhat.com, vsementsov@virtuozzo.com, mreitz@redhat.com, den@openvz.org, jsnow@redhat.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Hi all! Bitmaps reopening is buggy, we may easily produce broken incremental backup if we do temporary snaphost. Let's fix it! The main patch is 03 and it has full description of the problem and solution. Vladimir Sementsov-Ogievskiy (3): iotests: add test 255 to check bitmap life after snapshot + commit block/qcow2-bitmap: get rid of bdrv_has_changed_persistent_bitmaps block/qcow2-bitmap: rewrite bitmap reopening logic block/qcow2.h | 5 +- include/block/block_int.h | 2 +- include/block/dirty-bitmap.h | 1 - block.c | 29 ++--- block/dirty-bitmap.c | 12 -- block/qcow2-bitmap.c | 220 ++++++++++++++++++++++++----------- block/qcow2.c | 2 +- python/qemu/__init__.py | 4 +- tests/qemu-iotests/255 | 83 +++++++++++++ tests/qemu-iotests/255.out | 52 +++++++++ tests/qemu-iotests/group | 1 + 11 files changed, 308 insertions(+), 103 deletions(-) create mode 100755 tests/qemu-iotests/255 create mode 100644 tests/qemu-iotests/255.out -- 2.18.0