nvme: make sure ns head inherits underlying device limits
authorSagi Grimberg <sagi@grimberg.me>
Fri, 2 Nov 2018 18:22:13 +0000 (11:22 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Nov 2018 15:13:05 +0000 (16:13 +0100)
commitfa4712942d8ee992af92aee78d6c07c6c5cbfb42
treea10f68a470526e54d9627c5e901ed4f4180e17fd
parent05e25696bd5fe64fc26ef7e9177a69819404b801
nvme: make sure ns head inherits underlying device limits

[ Upstream commit 8f676b8508c250bbe255096522fdefb73f1ea0b9 ]

Whenever we update ns_head info, we need to make sure it is still
compatible with all underlying backing devices because although nvme
multipath doesn't have any explicit use of these limits, other devices
can still be stacked on top of it which may rely on the underlying limits.
Start with unlimited stacking limits, and every info update iterate over
siblings and adjust queue limits.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/nvme/host/core.c
drivers/nvme/host/multipath.c