Re: [PATCH for-next 2/4] nvme: compact nvme_uring_cmd_pdu struct

Christoph Hellwig
2022-07-12T06:33:07Z

On Mon, Jul 11, 2022 at 04:31:53PM +0530, Kanchan Joshi wrote:
> From: Anuj Gupta <anuj20.g@samsung.com>
>
> Mark this packed so that we can create bit more space in its container
> i.e. io_uring_cmd. This is in preparation to support multipathing on
> uring-passthrough.
> Move its definition to nvme.h as well.

I do not like this. packed structures that contain pointers are
inherently dangerous as that will get us into unaligned accesses
very quickly. I also do not think we should expose it any more widely
than absolutely required.

In fact if possible I'd really like to figure out how we can remove
this pdu concept entirely an just have a small number of well typed
field directly in the uring cmd. This will involved some rework
of the passthrough I/O completions so that we can get at the
metadata biovecs and integrity data.