From 816b54a70d261949d8e22e3d029d1e0bb5a2e128 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 5 May 2025 12:53:27 +0000 Subject: [PATCH] Revert "blk-cgroup: support to track if policy is online" This reverts commit 3154d64ff99bfad6b242d754d4beeb0a4edac605 which is commit dfd6200a095440b663099d8d42f1efb0175a1ce3 upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: I5d09f94759c130efe2d3490c23a251d4d71e6140 Signed-off-by: Greg Kroah-Hartman --- block/blk-cgroup.c | 24 +++++++----------------- block/blk-cgroup.h | 1 - 2 files changed, 7 insertions(+), 18 deletions(-) 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; }; /*