Re: [PATCH block/for-5.4-fixes] blkcg: make blkcg_print_stat() print stats only for online blkgs

From: Jens Axboe
Date: Wed Nov 06 2019 - 19:09:26 EST


On 11/5/19 9:09 AM, Tejun Heo wrote:
> blkcg_print_stat() iterates blkgs under RCU and doesn't test whether
> the blkg is online. This can call into pd_stat_fn() on a pd which is
> still being initialized leading to an oops.
>
> The heaviest operation - recursively summing up rwstat counters - is
> already done while holding the queue_lock. Expand queue_lock to cover
> the other operations and skip the blkg if it isn't online yet. The
> online state is protected by both blkcg and queue locks, so this
> guarantees that only online blkgs are processed.

Applied, thanks Tejun.

--
Jens Axboe