Re: [PATCH] blk-mq: check kobject state_in_sysfs before deleting in blk_mq_unregister_hctx

From: Ming Lei
Date: Tue Aug 26 2025 - 21:37:15 EST


On Wed, Aug 27, 2025 at 09:04:45AM +0800, Yu Kuai wrote:
> Hi,
>
> 在 2025/08/27 8:58, Ming Lei 写道:
> > On Tue, Aug 26, 2025 at 04:48:54PM +0800, linan666@xxxxxxxxxxxxxxx wrote:
> > > From: Li Nan <linan122@xxxxxxxxxx>
> > >
> > > In __blk_mq_update_nr_hw_queues() the return value of
> > > blk_mq_sysfs_register_hctxs() is not checked. If sysfs creation for hctx
> >
> > Looks we should check its return value and handle the failure in both
> > the call site and blk_mq_sysfs_register_hctxs().
>
> From __blk_mq_update_nr_hw_queues(), the old hctxs is already
> unregistered, and this function is void, we failed to register new hctxs
> because of memory allocation failure. I really don't know how to handle
> the failure here, do you have any suggestions?

It is out of memory, I think it is fine to do whatever to leave queue state
intact instead of making it `partial workable`, such as:

- try update nr_hw_queues to 1

- if it still fails, delete disk & mark queue as dead if disk is attached

...

Thanks,
Ming