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 7341380036 for ; Thu, 27 Aug 2026 16:10:53 +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 67RG9eAh001688; Thu, 27 Aug 2026 19:09:41 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 67RG9eAh001688 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="b4DS11n3" Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 67RG9B9v001585 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 27 Aug 2026 19:09:12 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 67RG9B9v001585 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-482bf4da3d5so1506349f8f.1 for ; Thu, 27 Aug 2026 09:09:11 -0700 (PDT) X-Gm-Message-State: AFuF++k2WvCgRM9FZ27+XvEXAxm9nG0edpNkG06Z+rinAU1q8hC+LL8I C6aSaqEdfA7LIciIhJf7BWfnNs4fyn2legi5emKElo72irB7eVili0e1HIB1kBxM9cBxObTdz6y pDM6cfqrPR13ftnRO9l5vtqa5OrlGUN2+n3P3rx1ZNsgVgCFGB4iyxQ== X-Gm-Gg: AR+sD11sIN0xkfdSIPexv5u0/Nxr/0sZ3sGOA6TyKfUdmXxsoxawrD9PVSMikV2lL+n ZYPb4BVR9GrBfx1NOviQQPLq2KjqvdPaBLFJ8zg36uhkUj6ygIi82WV1IbDq4siKhB0VEi4jeH7 XTkUf468yycZYYD9GhVl6/S13H+bAq54h3/aogaHLea0Ppp9v9AwsvTzNEXX0Kogu/hl+RoRTlr Zorrf8eDfsj8G1E07cf55XOBAFTa6gZoa1E/Ph4Ermyrtpmv6RL2eAjT9NCnwKe23qPxI0wwzlV RmS0CO/7M92l2/X0KXtd1LRPsOSX/DQR+Il1aFQa5YFae6kfnTwYwh+WI/rpEPwlbJOdUOQ37ma ufglprVbSseo5h08NYQkQs44snsvc X-Received: by 2002:a05:6000:4810:b0:480:c5:d635 with SMTP id ffacd0b85a97d-482e264f793mr21689025f8f.0.1787846951396; Thu, 27 Aug 2026 09:09:11 -0700 (PDT) X-Received: by 2002:a05:6000:4810:b0:480:c5:d635 with SMTP id ffacd0b85a97d-482e264f793mr21688876f8f.0.1787846950748; Thu, 27 Aug 2026 09:09:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1787846950; cv=none; d=google.com; s=arc-20260327; b=TP+WSkVq9lTbL4unNzDICL8p3tlCvuHsnMcqFjHrAewtVAPl2ZemcUdeqV/q2jXqFn kISXRdaPoo36nKYLmT3Qn2A/TQ6aV7qgjMbdsZmfJ2ZUIX09uJ8JONU8Ozgkxcdqfnx0 +42u32jRcHZgzOauExoYihPRBwuGHg8PyxAbaIEPJFXApsoIyWnL10tq4Ic6xuY2MLLn gTQ757WtevmzFHAs+YNPFBX/vgAeDKYcvMFqsBLRiA/Qd/U3iLxcRrozaRhI5/FjNmZE Fv8S//8E/Cyl1L2ORFG05CJnxmWoExZHgMZqS/CuWwcBiw1XBZl1aT8b1jtGUhXvZJkB zdjQ== 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=Xcu9EAolrDtztrnqvBEKBtvVi+HtuNUZUofbbKOzFOM=; fh=0/brz1B8ohImS2ERrXZY0dPGpSEyX2H6iLC7bneXJkE=; b=djh1G+irHnyap7gkrgr8lmMOA5tTuSQ4iFsrGHTpn8fRAW/EU4CrFtMOB4lt4YafuK ZEsSFtPbRi8r/FUVw9RmxQZcUlYE1UqWyNxnJ9FdxwoLAVo4wPm7FM6f0nOlMR401Vyq A6AsT+Kx6cINqEFKN5YUbHdJIGXaKLrnJg0xsZqNxsJkqKNiGDFtQpq7HJ7y29huDX6L DtiB2jnz7Du1+Y78uu8ItvvAfmeC4CKid8a0X5/mol7OiAZHwYi5u4r8Ry6f70BjTvWm T6dOZdIvhJlQVHcsaDeGKJFHWgRFmceWDQVajRUvoDghI30gnlMCu5l3WtMT8vIkY83o sfiA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=b4DS11n3; spf=pass (google.com: domain of andrey.zhadchenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=andrey.zhadchenko@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-482e28dcc30si8474974f8f.219.2026.08.27.09.09.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Aug 2026 09:09:10 -0700 (PDT) Received-SPF: pass (google.com: domain of andrey.zhadchenko@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=b4DS11n3; spf=pass (google.com: domain of andrey.zhadchenko@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=andrey.zhadchenko@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=Xcu9EAolrDtztrnqvBEKBtvVi+HtuNUZUofbbKOzFOM=; b=b4DS11n3Zk5y ScFGkAjYZmwFRaGtceVnTzgUkVN8bF+Nt4SeSiMdxg3zHPetwq0QLgqrtygpNMsCjI9OT1Tg+2YEd 0TcDRQUBSbDn2KwcHRKzOvwc6rDLtZz1wNkZKfzwo2vVKzBHEwZCH7DjvEJYZbuOK+lYFEpr3KRVx jQqWJyr+S6iw5nE4ZeNn8ljOnxRzzP3XRcT5SLR6jhAGLU2c2qrFiu7kIXrPzaEkghJSM2TJfwqlo m2tr55zIaslovsCV8KnltczniFbn6xvHqoju9XW8B+wHiuoB6MZelXZ2OHgWVXkAyJzoQoTjuYTw8 LmKGp6Uu5nTuB5JYWLjGrg==; Received: from [130.117.225.5] (helo=vz9-demens-1.aci.vzint.dev) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1wzccs-00FHQJ-0O; Thu, 27 Aug 2026 18:09:07 +0200 From: Andrey Zhadchenko To: ptikhomirov@virtuozzo.com, vasileios.almpanis@virtuozzo.com Date: Thu, 27 Aug 2026 19:06:09 +0300 Message-ID: <20260827160619.303398-2-andrey.zhadchenko@virtuozzo.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260827160619.303398-1-andrey.zhadchenko@virtuozzo.com> References: <20260827160619.303398-1-andrey.zhadchenko@virtuozzo.com> MIME-Version: 1.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH VZ10 v4 01/11] 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org 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 --- 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 db21efb45e17a..506458f04888e 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; -- 2.43.5 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel