From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id B8EA680024 for ; Fri, 28 Aug 2026 17:05:40 +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 67SH4QGO011633; Fri, 28 Aug 2026 20:04:26 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 67SH4QGO011633 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="HJQ8O/Wh" Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 67SH3v8n011553 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Fri, 28 Aug 2026 20:03:57 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 67SH3v8n011553 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4997b060af8so7333665e9.1 for ; Fri, 28 Aug 2026 10:03:57 -0700 (PDT) X-Gm-Message-State: AFuF++kP0pZwCaexD60r2Ad0R8EwnO9b+06TnnYOvKimw3xiEw9IG7LU k9raePg7R2ub2XD0K/K0I3f7YFTpKukvzCg/UQ8szmkZqXjiHVzlznaJTGD5pmN8nAB+grWKEIa SRHuePBCaSzCsbAbARLCYQth9MnL7ENttmnlVWLn/DxVFu+wOoLFsqg== X-Gm-Gg: AR+sD10hGt5jptjYtuBuQCv5crRq5HUY+W/gVOFdyPZ/rKgbllOL3eAAceQu20TDU+1 pUaOmtxKh+TXIcdYuxpPTNtetVLjMFajGTuAWHSck4cilpmdr45vgC75Hn4OYmtyzHOJM4Qxtdd KrBlFa1reLYCQDdiwGvsaUzxedpZWn23BijbsWpbfpQJqrhVduOInf/ycckKZ7/ype1j+lQFif9 JVoL+QtXFtz76R1ysjEnzKkqdKx2pDRuKvI43GxDc2jLtKNZ7dR1yvoMp1aJE2BuzXwzE60wdDJ Fc1mXMH3ZgkV8IV/aTZbhb+ETEHPQYzlqamIRFP+BXf13iPUQuu2MqCb4kXiw8nIZLLV2ghL5m4 zyla5xFmUBAnMmGW4zg== X-Received: by 2002:a05:600c:1c0a:b0:493:bd2a:93be with SMTP id 5b1f17b1804b1-49b91c276efmr133368985e9.6.1787936637309; Fri, 28 Aug 2026 10:03:57 -0700 (PDT) X-Received: by 2002:a05:600c:1c0a:b0:493:bd2a:93be with SMTP id 5b1f17b1804b1-49b91c276efmr133367865e9.6.1787936636912; Fri, 28 Aug 2026 10:03:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1787936636; cv=none; d=google.com; s=arc-20260327; b=a5srw4JsRtpbbdB5ikDPEQvYrvIvZyA2IUHpLFNRaSyp8QcWFxMsGs+Y9p3gLf2+Dx TaZeXxPZ0/th8OFBHs46OZooUeDY4I+ObLCDMTkRz+iAl2f21wRlp/+s4tq5/ISdA48l XV6OeUK1NKNDlUCU3E1Iuk9z9VvZpOzV1qP6TUly1haxQOZhb55xvfVNMwcvKgtaDhDN qSzTsS9ZrLwGuM68N/A+qV9jbRH4bTufjwET4XztvzdSazWsdE8w3gr2iDmNqPICDFEB K4uEmy/0aU6QNCGydp00Ip2yCHeqPVCdpJoZ3k8muKhfZVcUiDv0lqAoz+h5Uat1VIhe hKZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=subject:in-reply-to:cc:to:from:message-id:date:dkim-signature; bh=M1eEyjTPzrW8JAlJSGZymcMpS9qpmpEben5ekV9fX90=; fh=Vum9jOrhj7HN5ByxRUgrKjNRrylYGqSqAPC0VlAu4Lc=; b=s+gq/1H2b7VzCKysBfDKHRSn3n+WtpWTKsQuAP/Ak+EkULxRrjmRYkxF49bXdJXNjn LUwNNlUNATwtTqrNTXkO814sPG01OIBU04P5P5joFU3EV+gOAeaQ8tBMvbV+AJ2SU9wl pAzk9lbanVitHNjp9AR8sN0EJZZFErIO0TRBZX6yntcTfADZVzcOa++wUOxgL3YO7YhU CxsKTV7MEc0qWreJQwEXxW+u1elb04HOAv9cLRcYkUcIHhZtLqAd/OZRJvUqqvEH1YwK gp7u+Xs7g8+pXyEOjJURvidRhPEw04p4NidqjpFypMJW/728tmFAA6XfgAPcWdPgnBHh Yyiw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b="HJQ8O/Wh"; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@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-482fbac3519si5399608f8f.105.2026.08.28.10.03.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 10:03:56 -0700 (PDT) Received-SPF: pass (google.com: domain of khorenko@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="HJQ8O/Wh"; spf=pass (google.com: domain of khorenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=khorenko@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=Subject:From:Message-Id:Date:Content-Type: MIME-Version; bh=M1eEyjTPzrW8JAlJSGZymcMpS9qpmpEben5ekV9fX90=; b=HJQ8O/WhnnCI UXP06GHjbC0z+vuAvJUl7SGBFgvlvwDjPzLlafCiKGWhubbbzUkTUN978ngpo5nb7oYA4PfRa2YVB d1UuJGt50sZhdsSdMonjEoi3uADHoUtustAbDQXcQnwcKx9eNJW4kSQgsm+UgvLELSG6Z4ZoW9VvS dV1MUGLftoC7wRPE28pwvBfCfLGkciIeA2CmQX7QslRAGI/S11O+qXpI7MuF4wQS6FGbKfKRmfNbs KrKw5FMgO4R5467sWK3JFNXkr0y9qUBWZKOXYLtJXToKcKR1vaadltz26pyDgtiyiKGFBc5W53xst XH7lNUxCY9+ztgqsRUGSeQ==; Received: from ch-demo-asa.virtuozzo.com ([130.117.225.8] helo=f0.sw.ru) by relay.virtuozzo.com with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wzzxO-008duW-2l; Fri, 28 Aug 2026 19:03:52 +0200 Received: from f0.sw.ru (localhost [127.0.0.1]) by f0.sw.ru (8.18.1/8.18.1/Debian-2) with ESMTP id 67SH3uCE1064199; Fri, 28 Aug 2026 19:03:56 +0200 Received: (from kostja@localhost) by f0.sw.ru (8.18.1/8.18.1/Submit) id 67SH3tf61064198; Fri, 28 Aug 2026 19:03:55 +0200 Date: Fri, 28 Aug 2026 19:03:55 +0200 Message-Id: <202608281703.67SH3tf61064198@f0.sw.ru> X-Authentication-Warning: f0.sw.ru: kostja set sender to khorenko@virtuozzo.com using -f From: Konstantin Khorenko To: Andrey Zhadchenko In-Reply-to: <20260827160619.303398-2-andrey.zhadchenko@virtuozzo.com> X-OZ-Fwd: true Cc: OpenVZ devel Subject: Re: [Devel] [PATCH RHEL10 COMMIT] drivers/md/dm-qcow2: do not attach a bvec to discard qios 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: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org The commit is pushed to "branch-rh10-6.12.0-211.39.1.16.x.vz10-ovz" and will appear at git@bitbucket.org:openvz/vzkernel.git after rh10-6.12.0-211.39.1.16.11.vz10 ------> commit a3cb7d8331778d9c5601716d419e75906ce2f733 Author: Andrey Zhadchenko Date: Thu Aug 27 19:06:09 2026 +0300 drivers/md/dm-qcow2: do not attach a bvec to discard qios prepare_one_embedded_qio() skipped bvec setup only for multi-bio discard requests. A single-bio discard still took the else branch: payload-less bios have bi_io_vec == NULL and a non-zero bi_size, so qio->bi_io_vec was set to bio->bi_inline_vecs. That flexible array is never NULL, but it is not a valid vec list. Explicitly initialize the qio iterator from the request for every discard and leave bi_io_vec NULL. Feature: dm-qcow2: block device over QCOW2 files driver Fixes: 1118b9c7875a ("dm-qcow2: Introduce driver to create block devices over QCOW2 files") https://virtuozzo.atlassian.net/browse/VSTOR-139406 Signed-off-by: Andrey Zhadchenko Reviewed-by: Pavel Tikhomirov Reviewed-by: Vasileios Almpanis Reviewed-by: Konstantin Khorenko --- drivers/md/dm-qcow2-map.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/md/dm-qcow2-map.c b/drivers/md/dm-qcow2-map.c index eaaf0a521d7bd..6ead06ef7b3f9 100644 --- a/drivers/md/dm-qcow2-map.c +++ b/drivers/md/dm-qcow2-map.c @@ -3515,6 +3515,14 @@ static struct bio_vec *create_bvec_from_rq(struct request *rq) return bvec; } +static void qio_init_iter_from_rq(struct qio *qio, struct request *rq) +{ + qio->bi_iter.bi_sector = blk_rq_pos(rq); + qio->bi_iter.bi_size = blk_rq_bytes(rq); + qio->bi_iter.bi_idx = 0; + qio->bi_iter.bi_bvec_done = 0; +} + static void prepare_one_embedded_qio(struct qcow2 *qcow2, struct qio *qio, struct list_head *deferred_qios) { @@ -3524,9 +3532,9 @@ static void prepare_one_embedded_qio(struct qcow2 *qcow2, struct qio *qio, LIST_HEAD(list); int ret; - if (rq->bio != rq->biotail) { - if (req_op(rq) == REQ_OP_DISCARD) - goto skip_bvec; + if (req_op(rq) == REQ_OP_DISCARD) { + qio_init_iter_from_rq(qio, rq); + } else if (rq->bio != rq->biotail) { /* * Transform a set of bvec arrays related to bios * into a single bvec array (which we can iterate). @@ -3535,11 +3543,7 @@ static void prepare_one_embedded_qio(struct qcow2 *qcow2, struct qio *qio, if (unlikely(!bvec)) goto err; qrq->bvec = bvec; -skip_bvec: - qio->bi_iter.bi_sector = blk_rq_pos(rq); - qio->bi_iter.bi_size = blk_rq_bytes(rq); - qio->bi_iter.bi_idx = 0; - qio->bi_iter.bi_bvec_done = 0; + qio_init_iter_from_rq(qio, rq); } else { /* Single bio already provides bvec array */ bvec = rq->bio->bi_io_vec; _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel