Re: [PATCH v2 2/2] block: cancel all throttled bios in del_gendisk()
From: yukuai (C) <hidden>
Date: 2021-12-01 09:26:27
Also in:
linux-block, lkml
From: yukuai (C) <hidden>
Date: 2021-12-01 09:26:27
Also in:
linux-block, lkml
ÔÚ 2021/12/01 0:26, Tejun Heo дµÀ:
Hello, On Tue, Nov 30, 2021 at 09:17:30AM +0800, Yu Kuai wrote:quoted
+void blk_throtl_cancel_bios(struct request_queue *q) +{ + struct throtl_data *td = q->td; + struct blkcg_gq *blkg; + struct cgroup_subsys_state *pos_css; + struct bio *bio; + int rw; + + rcu_read_lock();So, all of the draining is being performed without holding the q lock, which *might* be okay given that we're in the del_gendisk path but is likely risky - ie. there can still be timers or whatever racing against it.
I'll hold queue_lock to draining bios in next iteration, Thanks, Kuai
Thanks.