summaryrefslogtreecommitdiffstats
path: root/block/cfq-iosched.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/cfq-iosched.c')
-rw-r--r--block/cfq-iosched.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index f67d109eb97..9ef86fbfc9a 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -1133,6 +1133,10 @@ static void cfq_put_cfqg(struct cfq_group *cfqg)
cfqg->ref--;
if (cfqg->ref)
return;
+
+ /* release the extra blkcg reference this blkg has been holding */
+ css_put(&cfqg->blkg.blkcg->css);
+
for_each_cfqg_st(cfqg, i, j, st)
BUG_ON(!RB_EMPTY_ROOT(&st->rb));
free_percpu(cfqg->blkg.stats_cpu);