Skip to content

Commit 5063436

Browse files
zhangyi089brauner
authored andcommitted
nvmet: set WZDS and DRB if device enables unmap write zeroes operation
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> Link: https://lore.kernel.org/20250619111806.3546162-4-yi.zhang@huaweicloud.com Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: "Martin K. Petersen" <martin.petersen@oracle.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 545fb46 commit 5063436

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

drivers/nvme/target/io-cmd-bdev.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ void nvmet_bdev_set_limits(struct block_device *bdev, struct nvme_id_ns *id)
4646
id->npda = id->npdg;
4747
/* NOWS = Namespace Optimal Write Size */
4848
id->nows = to0based(bdev_io_opt(bdev) / bdev_logical_block_size(bdev));
49+
50+
/* Set WZDS and DRB if device supports unmapped write zeroes */
51+
if (bdev_write_zeroes_unmap_sectors(bdev))
52+
id->dlfeat = (1 << 3) | 0x1;
4953
}
5054

5155
void nvmet_bdev_ns_disable(struct nvmet_ns *ns)

0 commit comments

Comments
 (0)