On 11/1/22 08:00, Christoph Hellwig wrote: > From: Chao Leng <lengchao@xxxxxxxxxx> > > 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@xxxxxxxxxx> > [hch: rebased on top of prep patches] > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > Reviewed-by: Keith Busch <kbusch@xxxxxxxxxx> > Reviewed-by: Chao Leng <lengchao@xxxxxxxxxx> > Reviewed-by: Hannes Reinecke <hare@xxxxxxx> > Reviewed-by: Sagi Grimberg <sagi@xxxxxxxxxxx> > --- Reviewed-by: Chaitanya Kulkarni <kch@xxxxxxxxxx> -ck