Re: [PATCH v2] nvme: allow 64-bit results in passthru commands

From: Christoph Hellwig
Date: Wed Aug 21 2019 - 19:59:26 EST


On Mon, Aug 19, 2019 at 08:49:22AM -0600, Keith Busch wrote:
> On Mon, Aug 19, 2019 at 12:06:23AM -0700, Marta Rybczynska wrote:
> > ----- On 16 Aug, 2019, at 15:16, Christoph Hellwig hch@xxxxxx wrote:
> > > Sorry for not replying to the earlier version, and thanks for doing
> > > this work.
> > >
> > > I wonder if instead of using our own structure we'd just use
> > > a full nvme SQE for the input and CQE for that output. Even if we
> > > reserve a few fields that means we are ready for any newly used
> > > field (at least until the SQE/CQE sizes are expanded..).
> >
> > We could do that, nvme_command and nvme_completion are already UAPI.
> > On the other hand that would mean not filling out certain fields like
> > command_id. Can do an approach like this.
>
> Well, we need to pass user space addresses and lengths, which isn't
> captured in struct nvme_command.

Well, the address would fit into the data pointer. But yes, the lack
of a command length concept in nvme makes this idea a mess and not
really workable.