[PATCH] nvme: disable namespaces with unsupported metadata
Christoph Hellwig
hch at lst.de
Wed Nov 24 10:47:57 PST 2021
On Tue, Nov 23, 2021 at 09:45:54AM -0800, Keith Busch wrote:
> The only fabrics target that supports metadata is RDMA and usable only
> if it is 8B per block, and formatted for protection information. If an
> rdma target were to export a namespace with a different format (ex:
> 4k+64B), the driver will not be able to submit a valid command for that
> format.
>
> Suppress exporting these namespaces as read/writeable to the block
> stack.
Where do we disable the namepsace? We only do not set the metadata
supported flag here, don't we?
> + /*
> + * Currently rdma is the only fabrics nvme host that supports
> + * metadata integrity segments, but will not use the metadata
> + * payload if it doesn't satisfy 'nvme_ns_has_pi()'.
s/fabric nvme host/transport/
> Since the
> + * initiator is not able to form requests that satisify the
> + * format, do not support the namespace if the metadata does
> + * not satisfy that requirement.
> + */
I can't really parse this sentence. Also initiator doesn't make much
sense in a NVMe context.
More information about the Linux-nvme
mailing list