nvme: allow 64-bit results in passthru commands
authorMarta Rybczynska <mrybczyn@kalray.eu>
Tue, 24 Sep 2019 13:14:52 +0000 (15:14 +0200)
committerSagi Grimberg <sagi@grimberg.me>
Wed, 25 Sep 2019 19:53:27 +0000 (12:53 -0700)
commit65e68edce0db433aa0c2b26d7dc14fbbbeb89fbb
tree13a641114ef425197135ba4580c2007e1ac86e16
parent19ea025e1d28c629b369c3532a85b3df478cc5c6
nvme: allow 64-bit results in passthru commands

It is not possible to get 64-bit results from the passthru commands,
what prevents from getting for the Capabilities (CAP) property value.

As a result, it is not possible to implement IOL's NVMe Conformance
test 4.3 Case 1 for Fabrics targets [1] (page 123).

This issue has been already discussed [2], but without a solution.

This patch solves the problem by adding new ioctls with a new
passthru structure, including 64-bit results. The older ioctls stay
unchanged.

[1] https://www.iol.unh.edu/sites/default/files/testsuites/nvme/UNH-IOL_NVMe_Conformance_Test_Suite_v11.0.pdf
[2] http://lists.infradead.org/pipermail/linux-nvme/2018-June/018791.html

Signed-off-by: Marta Rybczynska <marta.rybczynska@kalray.eu>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
drivers/nvme/host/core.c
include/uapi/linux/nvme_ioctl.h