From nobody Tue Nov 18 10:40:14 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1610447103; cv=none; d=zohomail.com; s=zohoarc; b=gXCljiLQhziftUUnyhMJvkX7Ws3K/3kIhsCNa0O6LvbPVHR2tJXrmQxmaqdXoFGxvHELVfuOAFEww0Ie0JW958wPmUm81bOGrwjFhKZBmpVGotthAloZY7pgojacM8/fUfNdMUMAYZ89iDtjt/aAf5pdEwl5AK0pl1nImRNBPPo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1610447103; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=HLAQQIA8GM2FmwKmkjh+WE5cKcBjpRwoaSU6jxVpDjA=; b=Qm1VvEDVqkk3qeWdOTD1v/8sjdXfP0jruFXO1LintdMRnvv9SmNEL34Rwxx3pU+5vFyWbZWC/TiSLQq0ZduRT/PAkK++Co64j5H5LlZQdioI71hzmO/nNatg0+IbvMgfQjWinag/ohglioGD68xmSLs5nNM9xCI068AnRvgIXbg= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1610447102762746.5797162805255; Tue, 12 Jan 2021 02:25:02 -0800 (PST) Received: from localhost ([::1]:38030 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kzGrF-0000ou-GA for importer@patchew.org; Tue, 12 Jan 2021 05:25:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38030) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kzGCM-0005Ih-IR; Tue, 12 Jan 2021 04:42:46 -0500 Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:58699) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kzGCK-0007wd-7J; Tue, 12 Jan 2021 04:42:46 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id EBBD91D1E; Tue, 12 Jan 2021 04:42:39 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Tue, 12 Jan 2021 04:42:40 -0500 Received: from apples.local (80-167-98-190-cable.dk.customer.tdc.net [80.167.98.190]) by mail.messagingengine.com (Postfix) with ESMTPA id 02A14108005C; Tue, 12 Jan 2021 04:42:37 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=irrelevant.dk; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; s=fm2; bh=HLAQQIA8GM2FmwKmkjh+WE5cKc BjpRwoaSU6jxVpDjA=; b=YLDbBQAV5MryJUGGmiO51MyCYJhhjvWX9U1kMjo4WD E785pn8nPlwCo6NJY3XXkbLssi987FIBa1E2OnHLj5ejum7o7N+5Xei2sTMQbXge zaTajbrs5ugXR6xRr0T6urWjcUkKW7mz1k+i9cvpk+eTY1mpwsG/TFngtZbrID4p sLnbpfa/Y8Lx3ICxGAsENlsn8fHfhXVI8jte3QUToQn4bSUgNSeyWKyJ1yhh9g6a nG3Yhd1znLYKOo/Bsnp1NtSONz+p9dCpC23nRTrT0NSk0nSg5dGOEC+V79kal6ip R8EA4jNl6HPdn/dSVtDVkWev6V2wv7s9EJ57MYSqhG2w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :message-id:mime-version:subject:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=HLAQQIA8GM2FmwKmk jh+WE5cKcBjpRwoaSU6jxVpDjA=; b=Hanq3dIlMVWThrnXGvJTdR2CyH80EFRCQ dfDTugQI+CS4irjuM6XJoJCwdKGoux0UxiAtI/NQI3NG79z9V2l2xwkNl4ZltTt7 VBQPQ740JAbo13HZc8/lGMwEjZR8VPiVSUqZ0zAaWHImUQCaLwWXOpJLzq+iC6Qq ZwnmHaAShPjrW1BwAdgNJN7fN1kHDJQka+XtOolSExYHDqXsQskEAHWc1ebk9s8j InH5N+SZXnZmCNoMx61+ojXMVv4JENFH8s7gRCZ5+zpXcQoJZ12mOuN0B+kcXatJ XnCi+Ni4UhSpAejKYKJKHv7QbiK+D2mW1qA3EP5MXDkBEKmeb8S2w== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrvdehgedgtdehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefmlhgruhhsucfl vghnshgvnhcuoehithhssehirhhrvghlvghvrghnthdrughkqeenucggtffrrghtthgvrh hnpeefveelvdeikeduueffteeggeefhedvffffjeeuueeludehvdegjeevjefhtdetheen ucfkphepkedtrdduieejrdelkedrudeltdenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehithhssehirhhrvghlvghvrghnthdrughk X-ME-Proxy: From: Klaus Jensen To: qemu-devel@nongnu.org Subject: [PATCH] hw/block/nvme: fix zone write finalize Date: Tue, 12 Jan 2021 10:42:35 +0100 Message-Id: <20210112094235.188686-1-its@irrelevant.dk> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=64.147.123.20; envelope-from=its@irrelevant.dk; helo=wout4-smtp.messagingengine.com 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no 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: Kevin Wolf , qemu-block@nongnu.org, Dmitry Fomichev , Klaus Jensen , Max Reitz , Klaus Jensen , Keith Busch Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" From: Klaus Jensen The zone write pointer is unconditionally advanced, even for write faults. Make sure that the zone is always transitioned to Full if the write pointer reaches zone capacity. Signed-off-by: Klaus Jensen Cc: Dmitry Fomichev Reviewed-by: Keith Busch --- hw/block/nvme.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 0854ee307227..280b31b4459d 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -1268,10 +1268,13 @@ static void nvme_finalize_zoned_write(NvmeNamespace= *ns, NvmeRequest *req, nlb =3D le16_to_cpu(rw->nlb) + 1; zone =3D nvme_get_zone_by_slba(ns, slba); =20 + zone->d.wp +=3D nlb; + if (failed) { res->slba =3D 0; - zone->d.wp +=3D nlb; - } else if (zone->w_ptr =3D=3D nvme_zone_wr_boundary(zone)) { + } + + if (zone->d.wp =3D=3D nvme_zone_wr_boundary(zone)) { switch (nvme_get_zone_state(zone)) { case NVME_ZONE_STATE_IMPLICITLY_OPEN: case NVME_ZONE_STATE_EXPLICITLY_OPEN: @@ -1288,9 +1291,6 @@ static void nvme_finalize_zoned_write(NvmeNamespace *= ns, NvmeRequest *req, default: assert(false); } - zone->d.wp =3D zone->w_ptr; - } else { - zone->d.wp +=3D nlb; } } =20 --=20 2.30.0