summaryrefslogtreecommitdiffstats
path: root/block/blk-mq.c
diff options
context:
space:
mode:
authorChao Leng <lengchao@huawei.com>2022-11-01 16:00:50 +0100
committerJens Axboe <axboe@kernel.dk>2022-11-02 08:35:34 -0600
commit98d81f0df70ce6fc48517d938026e3c684b9051a (patch)
tree75d59700b5af1bb8b894720f20e98adfe37a52ed /block/blk-mq.c
parent414dd48e882c5a39e7bd01b096ee6497eb3314b0 (diff)
downloadlinux-stable-98d81f0df70ce6fc48517d938026e3c684b9051a.tar.gz
linux-stable-98d81f0df70ce6fc48517d938026e3c684b9051a.tar.bz2
linux-stable-98d81f0df70ce6fc48517d938026e3c684b9051a.zip
nvme: use blk_mq_[un]quiesce_tagset
All controller namespaces share the same tagset, so we can use this interface which does the optimal operation for parallel quiesce based on the tagset type(e.g. blocking tagsets and non-blocking tagsets). nvme connect_q should not be quiesced when quiesce tagset, so set the QUEUE_FLAG_SKIP_TAGSET_QUIESCE to skip it when init connect_q. Currently we use NVME_NS_STOPPED to ensure pairing quiescing and unquiescing. If use blk_mq_[un]quiesce_tagset, NVME_NS_STOPPED will be invalided, so introduce NVME_CTRL_STOPPED to replace NVME_NS_STOPPED. In addition, we never really quiesce a single namespace. It is a better choice to move the flag from ns to ctrl. Signed-off-by: Chao Leng <lengchao@huawei.com> [hch: rebased on top of prep patches] Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Keith Busch <kbusch@kernel.org> Reviewed-by: Chao Leng <lengchao@huawei.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Link: https://lore.kernel.org/r/20221101150050.3510-15-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-mq.c')
0 files changed, 0 insertions, 0 deletions