[PATCH 1/4] blk-mq: add API of blk_mq_unfreeze_queue_force
Christoph Hellwig
hch at lst.de
Thu Jun 15 22:48:00 PDT 2023
On Thu, Jun 15, 2023 at 11:43:51PM +0800, Ming Lei wrote:
> On Thu, Jun 15, 2023 at 09:16:27AM -0600, Keith Busch wrote:
> > On Thu, Jun 15, 2023 at 10:32:33PM +0800, Ming Lei wrote:
> > > NVMe calls freeze/unfreeze in different contexts, and controller removal
> > > may break in-progress error recovery, then leave queues in frozen state.
> > > So cause IO hang in del_gendisk() because pending writeback IOs are
> > > still waited in bio_queue_enter().
> >
> > Shouldn't those writebacks be unblocked by the existing check in
> > bio_queue_enter, test_bit(GD_DEAD, &disk->state))? Or are we missing a
> > disk state update or wakeup on this condition?
>
> GD_DEAD is only set if the device is really dead, then all pending IO
> will be failed.
del_gendisk also sets GD_DEAD early on.
More information about the Linux-nvme
mailing list