From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f225.google.com (mail-pl1-f225.google.com [209.85.214.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BAAAD3EBF25 for ; Sat, 21 Feb 2026 03:33:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.225 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771644788; cv=none; b=m9h4pKWbfNIRAMwQDe8hMQczyrukYRdm38Ylilbg324fGq/V2h7QXOzwvdhyzcUs3QbclxHC3baBLc5qwzv+khrxmttuJgjs2XSvjc0b+C8PpDuGOgHDHHmJU9yV3uCldL9v8wrGv4jFI+WndzKEmtM56+M+3LKikJU3TxnGUcM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771644788; c=relaxed/simple; bh=SmPyR3lie+GdgJmj+lRDziOnJWCC76heOT4+Qxkrcn4=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=WNCIcw1GoCGZecN9epjLktlRcZrZ0BK7nCt6ckrW66nrTtWBdAXWyOVfU+BN1pw6djhyBdq+FIVe0ejKF2zZDIIQJrB08UombrJ1Mjf/5SA7lO/P5LO8JJClp48fBA5d/RMrDcOnqMBEn7C3iRPz4CyBKgiZfC5xzc013Wkx25E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=purestorage.com; spf=fail smtp.mailfrom=purestorage.com; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b=V0cvb+9O; arc=none smtp.client-ip=209.85.214.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=purestorage.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=purestorage.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b="V0cvb+9O" Received: by mail-pl1-f225.google.com with SMTP id d9443c01a7336-2a871c767f5so1177025ad.0 for ; Fri, 20 Feb 2026 19:33:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=purestorage.com; s=google2022; t=1771644786; x=1772249586; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=NXu/gPjFkEzi2Q+OHDdxkBiS2LRCgR2xtZ9vFmofSGU=; b=V0cvb+9OIPXovMINk5ewl8RMh5P9uIdcnkJxrd9R5kXtq5XbDoddBeMHpVA8I2tiZH WQ639irJRlfZt0p/gT2IBUV4zNVk9UUiKHJ4VvIQk+Pnmw9D9ephL/FPHle1xQUAW5k2 4gV0qtHW7SMP4+DIu5EwY5ZNYFxgYqGJai/NPSZWw1WIY1d0+qVsjUSkgMdw+3IOqQzL YrrOf/yB4zsUWUtp94jH02SJiLTDFKzoooYR1haQxKrrDzw8b8OBDezhP388LwLZrTNk 8Ne20rhSpd6iskR7O5E/Irf6rF0tDpE0iKJ2gyVKYnY+EikE7zOEJFq0E6s/JuRWIftC qbRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771644786; x=1772249586; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NXu/gPjFkEzi2Q+OHDdxkBiS2LRCgR2xtZ9vFmofSGU=; b=s7oHGh4xuvEgOSsJPxL7ilq5mYkWoukhKumNrfBY4xbSElgmkvObw3zDDK43Bemirz BK6FwOnR1dXVoQ9sxRXREIIvcL5s6kovONI8OpYc5/r9fZUd6arkeGSuUaJ1arBFJqmw VGLkIg16Lz/8F4eXGBgEdQ5t7naA6S6K1UNeSu8IbHym38hVC22bg1dm/zkaNwJlX0Eb 6wLNya6mL55S8zxJH6Z2M56tb/P9SNpQi3OpyMlrtHb4CqdMELh87opz3C6y8pofBggT RaKXzVPoe2pn4cMNUpUuTrRTodvFXR5AFRWpMjC1hwbPeMQHMXZoLS+gy902parpWfZm 9UOg== X-Forwarded-Encrypted: i=1; AJvYcCW2cLBaqzB8O67xkI9Xp/7ob4Y7EBW8viOfUgS2ncyTUE7R56P0sHmM4A+hVRcw9a+ygq6OpgAZaqL/nhA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9RoFhzxbNzofI9/6niGmJm0mVmtMsOsTDYnSe9WIg3ZU8ZBn9 Mc2rDhn5aIdhvIO8NCo2JjpU7g9O9TJbUR9KpTKsgYHEumj8YMRXsHAfNREH6HOGvS9fv2g0xVF GOSEfRGNh/idK5wTby5yvVZ2WY4/fkTyD+Bbk X-Gm-Gg: AZuq6aKLONM5Av90bwfNw1Xw7QLM87o9h1pyh/3oVD3kFyCvCtPj9Oamn01PHdrJwvV VZ94uDEIKLwnrtkZZEwZ8nsV3im6X20M7Mqk/OrRGZ6FUOmlmOQHzHxW2T2CNtXlQuxwGzrrhqx yAtdUGenUZbh0iAajdJNqJHHF4A6vUkmrKMHtd50hb+LHoizS/Mm3bMHhqKUD1YBgjPf403Cufw nqGDFu4R/fQHbzae3TSDWH2S1l8flBNUA9jcfInMse/DMHv6VGRWLGEoAqSX2UyJMJ6cX7CbwdG BU7fwQlvbeDx9fOu0lraoCpr2v66EZv42qcdGCCu4ZJ6aK2yqs5mnAl05Qbgj8l5QTQdjAhOa8A tSyzXV9sNbK3vuWuIU19FgExrV7FcC59nlZCAbvz8no6ml2B5r/RxKg== X-Received: by 2002:a17:902:dac9:b0:2a0:ccee:b356 with SMTP id d9443c01a7336-2ad7445409amr13401605ad.1.1771644785898; Fri, 20 Feb 2026 19:33:05 -0800 (PST) Received: from c7-smtp-2023.dev.purestorage.com ([208.88.159.128]) by smtp-relay.gmail.com with ESMTPS id d9443c01a7336-2ad74e1890csm1574005ad.14.2026.02.20.19.33.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 20 Feb 2026 19:33:05 -0800 (PST) X-Relaying-Domain: purestorage.com Received: from dev-csander.dev.purestorage.com (dev-csander.dev.purestorage.com [10.112.29.101]) by c7-smtp-2023.dev.purestorage.com (Postfix) with ESMTP id 2603B340648; Fri, 20 Feb 2026 20:33:05 -0700 (MST) Received: by dev-csander.dev.purestorage.com (Postfix, from userid 1557716354) id 118A6E427C8; Fri, 20 Feb 2026 20:33:05 -0700 (MST) From: Caleb Sander Mateos To: Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni Cc: linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Caleb Sander Mateos Subject: [PATCH v2 0/7] nvme: set discard_granularity from NPDG/NPDA Date: Fri, 20 Feb 2026 20:32:55 -0700 Message-ID: <20260221033302.1451669-1-csander@purestorage.com> X-Mailer: git-send-email 2.45.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit NVMe block devices always report the logical block size for the discard_granularity queue limit. However, more accurate values may be available in the NPDG/NPDA fields of the Identify Namespace structure or the NPDGL/NPDAL fields of the NVM Command Set Specific Identify Namespace structure. So use these values to compute discard_granularity. Also fix the use of the OPTPERF field to better comply with version 2.1 of the NVMe spec. Update the target side to report NPDGL and NPDAL as well, in case the discard granularity doesn't fit in the 16-bit NPDG and NPDA fields. Caleb Sander Mateos (7): nvme: add preferred I/O size fields to struct nvme_id_ns_nvm nvme: fold nvme_config_discard() into nvme_update_disk_info() nvme: update nvme_id_ns OPTPERF constants nvme: always issue I/O Command Set specific Identify Namespace nvme: set discard_granularity from NPDG/NPDA nvmet: use NVME_NS_FEAT_OPTPERF_SHIFT nvmet: report NPDGL and NPDAL drivers/nvme/host/core.c | 74 +++++++++++++++++++------------ drivers/nvme/target/admin-cmd.c | 2 + drivers/nvme/target/io-cmd-bdev.c | 19 ++++++-- drivers/nvme/target/nvmet.h | 2 + include/linux/nvme.h | 13 +++++- 5 files changed, 76 insertions(+), 34 deletions(-) -- 2.45.2