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

From: Sagi Grimberg
Date: Mon Aug 19 2019 - 17:17:49 EST



----- 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.

Isn't simply having a 64 variant simpler?

Could you provide more details on what you mean by this?

Why would we need to pass addresses and lengths if userspace is
sending the 64 variant when it is expecting a 64 result?

Or maybe I'm missing something...