On 5/5/25 7:47 PM, Ming Lei wrote: > Add new helper disable_elv_switch() and new flag QUEUE_FLAG_NO_ELV_SWITCH > for disabling elevator switch before deleting disk: > > - originally flag QUEUE_FLAG_REGISTERED is added for preventing elevator > switch during removing disk, but this flag has been used widely for > other purposes, so add one new flag for disabling elevator switch only > > - for avoiding deadlock risk, we have to move elevator queue > register/unregister out of elevator lock and queue freeze, which will be > done in next patch. However, this way adds small race window between elevator > switch and deleting ->queue_kobj, in which elevator queue register/unregister > could be run concurrently. The added helper will be used for avoiding the race > in the following patch. > > - drain in-progress elevator switch before deleting disk > > Suggested-by: Nilay Shroff <nilay@xxxxxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > Reviewed-by: Hannes Reinecke <hare@xxxxxxx> > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> Looks good to me: Reviewed-by: Nilay Shroff <nilay@xxxxxxxxxxxxx>