From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 4BA1880E7E for ; Wed, 28 Oct 2026 15:08:21 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69SF77Tq021121; Wed, 28 Oct 2026 18:07:08 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SF77Tq021121 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="HAIOboBA" Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69SF6qN6021059 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 28 Oct 2026 18:06:52 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SF6qN6021059 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-48b027578a4so850604f8f.3 for ; Wed, 28 Oct 2026 08:06:52 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvBwR8Qkc2n4kJ0N6P9EveuHNxRG3eOJqpPuNm1xunjC2HcKAv0rAraPFeHr43vPWPQPFb8xHjw==@openvz.org X-Gm-Message-State: AFq9FYLpeCipk+U2HGzUJntvHiqlkL+m09wtyRVItY4trUaSeQzKrD/0 L2LPWiqFWyIzvl/cmtN0DZjU/eHpkVblrnlDkH1ujnQehBCD68nIwptilBBlLaAxyPfeHH280Zi DbIXJaY/ixd3zVMtuWNo0kXEu9vw/zJA26C0wVa86wBBnbJgu3DnZUw== X-Gm-Gg: AYBFou2fii+XlL+qvztqAB4y/7pA1AKdCBMngis2VoEVkK66BTAJmwymhB5UR4J2i6E UHhPH/xcp9cztQlLMUE9roe9HBoGCOz1EZGkDGlfK0Olc1uSH44k+M33POEgzUW0ZL7ekZQwJFh Ax72Py+y9flDu0HAVbzm1Ogz47NIanr0rUg5IageAdT1asv4xQJcEBhX9ACFHxAV+B6K/8gV6z0 f6NoT6+mtBOXcQdBWqrpiZP0z+Gc1A7t7jny/nNL2m8xtHXKs2HPxuZTvF6mxu1I0sQew+bcBP5 8TbYclwNuDPBaQf+hJVNIDOMsq7Zw469or78CVhfSPonu1wPtzJQsT/GvfD54MPhSxgcSEuQNFY uhD2vwhGBIa3agV7biwBTl0XPdv0= X-Received: by 2002:a05:6000:41d9:b0:48e:10a7:40f with SMTP id ffacd0b85a97d-48e5d44e654mr6738036f8f.17.1793200012449; Wed, 28 Oct 2026 08:06:52 -0700 (PDT) X-Received: by 2002:a05:6000:41d9:b0:48e:10a7:40f with SMTP id ffacd0b85a97d-48e5d44e654mr6737904f8f.17.1793200011866; Wed, 28 Oct 2026 08:06:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793200011; cv=none; d=google.com; s=arc-20260327; b=fOJho6wTacUmwBaZORWPvBZUNUe0hU2p7RJdABGylKxUa+SdvN5ASJvJfgh/oqPOe8 C9QBo6MAUw9/h+QIr46MreCA5YzxvzArbnLWxNlhTRwmTrVjJcB50n45Hla4eQzDZ1+x zpZLCB//oKSs8ymIi8CnydcjoWxdnBpZsyFGydtJH+GD24YWh2j8u0W/9F0KnebLk5iY xURRLVmpJHq38TtPRfXaXiUSwCnI5e/tdIYmCkLHGH0hWq7JG7EoEjf0UbuFyNpYRrsq lSExpjJdHPSLOa/yPLiTkVUGpKz5F+gPu6sCua+Ss6X6jjT1dJ8ZWkNg6Dr8T3MxSyt4 LHmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=4w8Rt36nEAfXvcf5cQFqv3T1RCeO+BBIfenaWHn9cEQ=; fh=CMILZ+goaghq6B4UpCDhf0EQp6kYD0LAlmOkUiVCOvs=; b=IsFuDEsPXogvTVwbKaFOVzROFRWS4CRg/7667bRbmXiyQFvGwzm6R2JE+erdDF5Ox7 oJiP4c9S5bSuyzScYElJ/efR+A6lIJKK8GOnjQhspQknz/4Iw5VLVgV+Xi5dGbi6x1YX h1zcNsxXERuzuyh+J/80MR66CodBinkH0bosFyriU0I0qVgJ43/trYNRCTvjBM5S/MB2 VMU67NpA6o6HEtXCfTffk7/2axTbgyCSIQQag5rnt+8f6gpJm32lflVL9YDJv8lSpCSA ukbCJptmc0L0dNycpLNmLm1CjqiDszqd4/QMbuFjGnD+vQkN1W41vv1+QVu7xHH/eDyk uEAw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=HAIOboBA; spf=pass (google.com: domain of alexander.ivanov@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=alexander.ivanov@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48e3ed1e79fsi27648313f8f.420.2026.10.28.08.06.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Oct 2026 08:06:51 -0700 (PDT) Received-SPF: pass (google.com: domain of alexander.ivanov@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=HAIOboBA; spf=pass (google.com: domain of alexander.ivanov@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=alexander.ivanov@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=MIME-Version:Message-ID:Date:Subject:From: Content-Type; bh=4w8Rt36nEAfXvcf5cQFqv3T1RCeO+BBIfenaWHn9cEQ=; b=HAIOboBAwiLz JmWDHQ5jR+vucp0NI1x3nDFWRjBzLKJES3ylpPIDAUJkHaA4ZDXeGUkhbA1pXn5Gf9RBu55ypp/X/ 2Ukz55NJ1lG+upALgaWx6gaSLPRvdjF31O3GCnWlMQmiw0n8mD06HyWDVAw9V2/EcTv7iMxXJNy25 ZMrCSDxB2DbVO5Gw/qzla/k+hPpMq1VYZzJ1c+5iFdn99k2cHqx99tfPetIJUq3ZNeXsRj9wI/udL O+6WzUFeInCyI5Fsf7qc5QBZGYuH1+YgT0Zl80876nzXEYgE62/zWtKzWDqfOzhSId510FivWOA1V dbEoU+WjztEmWRpP//vzWg==; Received: from ch-vpn.virtuozzo.com ([130.117.225.6] helo=sky) by relay.virtuozzo.com with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1xM5B3-00AtLl-0s; Wed, 28 Oct 2026 16:06:50 +0100 From: Alexander Ivanov To: andrey.zhadchenko@virtuozzo.com Date: Wed, 28 Oct 2026 16:06:39 +0100 Message-ID: <20261028150645.3222391-5-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261028150645.3222391-1-alexander.ivanov@virtuozzo.com> References: <20261028150645.3222391-1-alexander.ivanov@virtuozzo.com> MIME-Version: 1.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v9 04/10] dm-qcow2: complete wbd before ending the data qio X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org data_rw_complete() calls qio_endio() before complete_wbd(). qio_endio() drops the inflight ref, so qcow2_flush_deferred_activity() may return on suspend while complete_wbd() for a failed L1/L2 writeback is still running in AIO completion context. revert_l_entries_update() then marks clusters unused and dirties R2 after the flush, and the change is never written back. Complete the wbd first. The md writeback path already does it in this order. https://virtuozzo.atlassian.net/browse/VSTOR-148171 Feature: dm-qcow2: block device over QCOW2 files driver Signed-off-by: Alexander Ivanov --- drivers/md/dm-qcow2-map.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/md/dm-qcow2-map.c b/drivers/md/dm-qcow2-map.c index 5952b5feb8bf..fa63bd6acfb8 100644 --- a/drivers/md/dm-qcow2-map.c +++ b/drivers/md/dm-qcow2-map.c @@ -2888,13 +2888,14 @@ static void data_rw_complete(struct qio *qio) spin_unlock_irqrestore(&qcow2->md_pages_lock, flags); } + /* qio_endio() drops the inflight ref, which suspend waits for */ + if (finalize_wbd) + complete_wbd(qcow2, wbd); if (call_endio) { if (bi_status != BLK_STS_OK) qio->bi_status = bi_status; qio_endio(qio); } - if (finalize_wbd) - complete_wbd(qcow2, wbd); } static void perform_rw_mapped(struct qcow2_map *map, struct qio *qio) -- 2.53.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel