On 16/10/24 01:35PM, Keith Busch wrote:
On Wed, Oct 16, 2024 at 04:59:05PM +0530, Anuj Gupta wrote:
+struct uio_meta {
+ meta_flags_t flags;
+ u16 app_tag;
+ u32 seed;
+ struct iov_iter iter;
+};
Is the seed used for anything other than the kernel's t10 generation and
verification? It looks like that's all it is for today, and that part is
skipped for userspace metadata, so I'm not sure we need it.
I know it's been used for passthrough commands since nvme started
supporitng it, but I don't see why the driver ever bothered. I think it
wasn't necessary and we've been carrying it forward ever since.
Not for generation/verfication, but seed is used to remap the ref tag when
submitting metadata on a partition (see blk_integrity_prepare/complete).
For cases like partitioning, MD/DM cloning, where virtual start sector is
different from physical sector remapping is required.
It is skipped for passthrough, but we require it for this series where I/O
can be done on partition too. Christoph [1], Martin [2] also expressed
the need for it in the previous version.
[1] https://lore.kernel.org/linux-block/20240824084430.GG8805@xxxxxx/
[2] https://lore.kernel.org/linux-block/yq17cc0c9p5.fsf@xxxxxxxxxxxxxxxxxxxx/