Re: [PATCH] null_blk: allow teardown on request timeout

From: Chaitanya Kulkarni
Date: Mon Oct 17 2022 - 05:30:58 EST



>> + /*
>> + * Unblock any pending dispatch I/Os before we destroy the device.
>> + * From null_destroy_dev()->del_gendisk() will set GD_DEAD flag
>> + * causing any new I/O from __bio_queue_enter() to fail with -ENODEV.
>> + */
>> + blk_mq_unquiesce_queue(nullb->q);
>> +
>> + null_destroy_dev(nullb);
>
> destroying device is never good cleanup for handling timeout/abort, and it
> should have been the last straw any time.
>

That is exactly why I've added the rq_abort_limit, so until the limit
is not reached null_abort_work() will not get scheduled and device is
not destroyed.

-ck