On Wed, Oct 23, 2024 at 02:21:15PM +0200, Christoph Hellwig wrote: > On Wed, Oct 23, 2024 at 05:54:34PM +0800, Ming Lei wrote: > > @@ -4913,7 +4913,7 @@ void nvme_start_freeze(struct nvme_ctrl *ctrl) > > set_bit(NVME_CTRL_FROZEN, &ctrl->flags); > > srcu_idx = srcu_read_lock(&ctrl->srcu); > > list_for_each_entry_rcu(ns, &ctrl->namespaces, list) > > - blk_freeze_queue_start(ns->queue); > > + blk_freeze_queue_start_non_owner(ns->queue); > > Maybe throw in a comment like: > > /* > * Will be unfrozen at I/O completion time when called by > * nvme_passthru_start. > */ > > so that it's clear why the non_owner version is used here. There are one more such usage: - freeze in nvme_dev_disable()/apple_nvme_disable() from timeout work, but unfreeze in nvme_reset_work() Thanks, Ming