nvme: split nvme_update_zone_info
authorChristoph Hellwig <hch@lst.de>
Tue, 2 Apr 2024 14:47:54 +0000 (16:47 +0200)
committerKeith Busch <kbusch@kernel.org>
Tue, 2 Apr 2024 15:21:33 +0000 (08:21 -0700)
commitc85c9ab926a592e2f59f7d9a6ca7d6562843d8fa
tree5f255a18b61a6c4417a1fc5e893830802dc10b94
parentac229a2d0939edfb469310c55b16d9321a858a46
nvme: split nvme_update_zone_info

nvme_update_zone_info does (admin queue) I/O to the device and can fail.
We fail to abort the queue limits update if that happen, but really
should avoid with the frozen I/O queue as much as possible anyway.

Split the logic into a helper to query the information that can be
called on an unfrozen queue and one to apply it to the queue limits.

Fixes: 9b130d681443 ("nvme: use the atomic queue limits update API")
Reported-by: Kanchan Joshi <joshi.k@samsung.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Kanchan Joshi <joshi.k@samsung.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/core.c
drivers/nvme/host/nvme.h
drivers/nvme/host/zns.c