diff options
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-cgroup.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index d8f80e733cf8..a573d4bd71d9 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c @@ -866,6 +866,13 @@ void blkcg_drain_queue(struct request_queue *q) if (!q->root_blkg) return; + /* + * @q could be exiting and already have destroyed all blkgs as + * indicated by NULL root_blkg. If so, don't confuse policies. + */ + if (!q->root_blkg) + return; + blk_throtl_drain(q); } |