X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=block%2Fblk-sysfs.c;h=aa41b47c22d2e89525a5bd3cfb9501e67634bff7;hb=2437fccfbfc83bcb868ccc7fdfe2b5310bf07835;hp=cf150011d808bc71fee8ff894387de0581235f56;hpb=16c0cfa425b8e1488f7a1873bd112a7a099325f0;p=~andy%2Flinux diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index cf150011d80..aa41b47c22d 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c @@ -9,6 +9,7 @@ #include #include "blk.h" +#include "blk-cgroup.h" struct queue_sysfs_entry { struct attribute attr; @@ -479,6 +480,8 @@ static void blk_release_queue(struct kobject *kobj) blk_sync_queue(q); + blkcg_exit_queue(q); + if (q->elevator) { spin_lock_irq(q->queue_lock); ioc_clear_queue(q); @@ -486,15 +489,12 @@ static void blk_release_queue(struct kobject *kobj) elevator_exit(q->elevator); } - blk_throtl_exit(q); - if (rl->rq_pool) mempool_destroy(rl->rq_pool); if (q->queue_tags) __blk_queue_free_tags(q); - blk_throtl_release(q); blk_trace_shutdown(q); bdi_destroy(&q->backing_dev_info);