linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Zhang Yi <yi.zhang@huaweicloud.com>
To: linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org,
	linux-block@vger.kernel.org, dm-devel@lists.linux.dev,
	linux-nvme@lists.infradead.org, linux-scsi@vger.kernel.org
Cc: linux-xfs@vger.kernel.org, linux-kernel@vger.kernel.org,
	hch@lst.de, tytso@mit.edu, djwong@kernel.org,
	john.g.garry@oracle.com, bmarzins@redhat.com,
	chaitanyak@nvidia.com, shinichiro.kawasaki@wdc.com,
	brauner@kernel.org, martin.petersen@oracle.com,
	yi.zhang@huawei.com, yi.zhang@huaweicloud.com,
	chengzhihao1@huawei.com, yukuai3@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH v2 3/9] nvmet: set WZDS and DRB if device enables unmap write zeroes operation
Date: Thu, 19 Jun 2025 19:18:00 +0800	[thread overview]
Message-ID: <20250619111806.3546162-4-yi.zhang@huaweicloud.com> (raw)
In-Reply-To: <20250619111806.3546162-1-yi.zhang@huaweicloud.com>

From: Zhang Yi <yi.zhang@huawei.com>

Set the WZDS and DRB bits to the namespace dlfeat if the underlying
block device enables the unmap write zeroes operation, make the nvme
target device supports the unmap write zeroes command.

Signed-off-by: Zhang Yi <yi.zhang@huawei.com>
---
 drivers/nvme/target/io-cmd-bdev.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/nvme/target/io-cmd-bdev.c b/drivers/nvme/target/io-cmd-bdev.c
index eba42df2f821..31d6c4a63fa5 100644
--- a/drivers/nvme/target/io-cmd-bdev.c
+++ b/drivers/nvme/target/io-cmd-bdev.c
@@ -46,6 +46,10 @@ void nvmet_bdev_set_limits(struct block_device *bdev, struct nvme_id_ns *id)
 	id->npda = id->npdg;
 	/* NOWS = Namespace Optimal Write Size */
 	id->nows = to0based(bdev_io_opt(bdev) / bdev_logical_block_size(bdev));
+
+	/* Set WZDS and DRB if device supports unmapped write zeroes */
+	if (bdev_write_zeroes_unmap_sectors(bdev))
+		id->dlfeat = (1 << 3) | 0x1;
 }
 
 void nvmet_bdev_ns_disable(struct nvmet_ns *ns)
-- 
2.46.1


  parent reply	other threads:[~2025-06-19 11:31 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-19 11:17 [PATCH v2 0/9] fallocate: introduce FALLOC_FL_WRITE_ZEROES flag Zhang Yi
2025-06-19 11:17 ` [PATCH v2 1/9] block: introduce max_{hw|user}_wzeroes_unmap_sectors to queue limits Zhang Yi
2025-06-23  5:39   ` Christoph Hellwig
2025-08-21 12:55   ` John Garry
2025-08-23  4:37     ` Zhang Yi
2025-06-19 11:17 ` [PATCH v2 2/9] nvme: set max_hw_wzeroes_unmap_sectors if device supports DEAC bit Zhang Yi
2025-06-23  5:40   ` Christoph Hellwig
2025-06-19 11:18 ` Zhang Yi [this message]
2025-06-23  5:40   ` [PATCH v2 3/9] nvmet: set WZDS and DRB if device enables unmap write zeroes operation Christoph Hellwig
2025-06-19 11:18 ` [PATCH v2 4/9] scsi: sd: set max_hw_wzeroes_unmap_sectors if device supports SD_ZERO_*_UNMAP Zhang Yi
2025-06-19 11:18 ` [PATCH v2 5/9] dm: clear unmap write zeroes limits when disabling write zeroes Zhang Yi
2025-06-19 11:18 ` [PATCH v2 6/9] fs: introduce FALLOC_FL_WRITE_ZEROES to fallocate Zhang Yi
2025-06-19 11:18 ` [PATCH v2 7/9] block: factor out common part in blkdev_fallocate() Zhang Yi
2025-06-19 11:18 ` [PATCH v2 8/9] block: add FALLOC_FL_WRITE_ZEROES support Zhang Yi
2025-06-19 11:18 ` [PATCH v2 9/9] ext4: " Zhang Yi
2025-06-23 10:46 ` [PATCH v2 0/9] fallocate: introduce FALLOC_FL_WRITE_ZEROES flag Christian Brauner
2025-07-03  3:35   ` Zhang Yi
2025-07-04  8:39     ` Christian Brauner
2025-06-23 15:08 ` Martin K. Petersen
2025-06-26 13:57   ` Zhang Yi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250619111806.3546162-4-yi.zhang@huaweicloud.com \
    --to=yi.zhang@huaweicloud.com \
    --cc=bmarzins@redhat.com \
    --cc=brauner@kernel.org \
    --cc=chaitanyak@nvidia.com \
    --cc=chengzhihao1@huawei.com \
    --cc=djwong@kernel.org \
    --cc=dm-devel@lists.linux.dev \
    --cc=hch@lst.de \
    --cc=john.g.garry@oracle.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=shinichiro.kawasaki@wdc.com \
    --cc=tytso@mit.edu \
    --cc=yangerkun@huawei.com \
    --cc=yi.zhang@huawei.com \
    --cc=yukuai3@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).