]> www.infradead.org Git - users/jedix/linux-maple.git/commit
NVMe: Remove hctx reliance for multi-namespace
authorKeith Busch <keith.busch@intel.com>
Sat, 17 Dec 2016 23:31:36 +0000 (15:31 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 1 Jun 2017 20:40:27 +0000 (13:40 -0700)
commitf1e98af5ee4bba962aae13510e23f5cb2beceba0
tree31df7b0334e3e4a7ac93652fcceb4cbb13cd1802
parent0735a5c00b81966a86e35ff17871366cc7bc2ac8
NVMe: Remove hctx reliance for multi-namespace

The driver needs to track shared tags to support multiple namespaces
that may be dynamically allocated or deleted. Relying on the first
request_queue's hctx's is not appropriate as we cannot clear outstanding
tags for all namespaces using this handle, nor can the driver easily track
all request_queue's hctx as namespaces are attached/detached. Instead,
this patch uses the nvme_dev's tagset to get the shared tag resources
instead of through a request_queue hctx.

Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
(cherry picked from commit 42483228d4c019ffc86b8dbea7dfbc3f9566fe7e)

Orabug: 25130845
Conflicts:
    nvme_set_irq_hints() needs to check tags instead of hctx and
retain nvme_admin_exit_hctx as exit_hctx
    drivers/block/nvme-core.c

Signed-off-by: Ashok Vairavan <ashok.vairavan@oracle.com>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/block/nvme-core.c