diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index 9ac1efb053e0..2d8a28e4e22f 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c @@ -501,6 +501,9 @@ restart: list_for_each_entry_safe(blkg, n, &q->blkg_list, q_node) { struct blkcg *blkcg = blkg->blkcg; + if (hlist_unhashed(&blkg->blkcg_node)) + continue; + spin_lock(&blkcg->lock); blkg_destroy(blkg); spin_unlock(&blkcg->lock);