Commit 50634366 authored by Zhang Yi's avatar Zhang Yi Committed by Christian Brauner
Browse files

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: default avatarZhang Yi <yi.zhang@huawei.com>
Link: https://lore.kernel.org/20250619111806.3546162-4-yi.zhang@huaweicloud.com


Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatar"Martin K. Petersen" <martin.petersen@oracle.com>
Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
parent 545fb46e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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)