diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c index ef596fc10465..cced5a2d5fb6 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c @@ -255,7 +255,6 @@ static struct blkcg_gq *blkg_alloc(struct blkcg *blkcg, struct gendisk *disk, blkg->pd[i] = pd; pd->blkg = blkg; pd->plid = i; - pd->online = false; } return blkg; @@ -327,11 +326,8 @@ static struct blkcg_gq *blkg_create(struct blkcg *blkcg, struct gendisk *disk, for (i = 0; i < BLKCG_MAX_POLS; i++) { struct blkcg_policy *pol = blkcg_policy[i]; - if (blkg->pd[i]) { - if (pol->pd_online_fn) - pol->pd_online_fn(blkg->pd[i]); - blkg->pd[i]->online = true; - } + if (blkg->pd[i] && pol->pd_online_fn) + pol->pd_online_fn(blkg->pd[i]); } } blkg->online = true; @@ -436,11 +432,8 @@ static void blkg_destroy(struct blkcg_gq *blkg) for (i = 0; i < BLKCG_MAX_POLS; i++) { struct blkcg_policy *pol = blkcg_policy[i]; - if (blkg->pd[i] && blkg->pd[i]->online) { - if (pol->pd_offline_fn) - pol->pd_offline_fn(blkg->pd[i]); - blkg->pd[i]->online = false; - } + if (blkg->pd[i] && pol->pd_offline_fn) + pol->pd_offline_fn(blkg->pd[i]); } blkg->online = false; @@ -1429,7 +1422,6 @@ retry: blkg->pd[pol->plid] = pd; pd->blkg = blkg; pd->plid = pol->plid; - pd->online = false; } /* all allocated, init in the same order */ @@ -1437,11 +1429,9 @@ retry: list_for_each_entry_reverse(blkg, &q->blkg_list, q_node) pol->pd_init_fn(blkg->pd[pol->plid]); - list_for_each_entry_reverse(blkg, &q->blkg_list, q_node) { - if (pol->pd_online_fn) + if (pol->pd_online_fn) + list_for_each_entry_reverse(blkg, &q->blkg_list, q_node) pol->pd_online_fn(blkg->pd[pol->plid]); - blkg->pd[pol->plid]->online = true; - } __set_bit(pol->plid, q->blkcg_pols); ret = 0; @@ -1503,7 +1493,7 @@ void blkcg_deactivate_policy(struct request_queue *q, spin_lock(&blkcg->lock); if (blkg->pd[pol->plid]) { - if (blkg->pd[pol->plid]->online && pol->pd_offline_fn) + if (pol->pd_offline_fn) pol->pd_offline_fn(blkg->pd[pol->plid]); pol->pd_free_fn(blkg->pd[pol->plid]); blkg->pd[pol->plid] = NULL; diff --git a/block/blk-cgroup.h b/block/blk-cgroup.h index 59815b269a20..aa2b286bc825 100644 --- a/block/blk-cgroup.h +++ b/block/blk-cgroup.h @@ -125,7 +125,6 @@ struct blkg_policy_data { /* the blkg and policy id this per-policy data belongs to */ struct blkcg_gq *blkg; int plid; - bool online; }; /*