Searched hist:e4f9fffbb1dc94ba81de45d9f29829267526cc0f (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/nvme/target/ |
H A D | loop.c | diff e4f9fffbb1dc94ba81de45d9f29829267526cc0f Tue Oct 15 22:03:14 CDT 2024 Nilay Shroff <nilay@linux.ibm.com> nvme-loop: flush off pending I/O while shutting down loop controller
[ Upstream commit c199fac88fe7c749f88a0653e9f621b9f5a71cf1 ]
While shutting down loop controller, we first quiesce the admin/IO queue, delete the admin/IO tag-set and then at last destroy the admin/IO queue. However it's quite possible that during the window between quiescing and destroying of the admin/IO queue, some admin/IO request might sneak in and if that happens then we could potentially encounter a hung task because shutdown operation can't forward progress until any pending I/O is flushed off.
This commit helps ensure that before destroying the admin/IO queue, we unquiesce the admin/IO queue so that any outstanding requests, which are added after the admin/IO queue is quiesced, are now flushed to its completion.
Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nilay Shroff <nilay@linux.ibm.com> Signed-off-by: Keith Busch <kbusch@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
|