summaryrefslogtreecommitdiffstats
path: root/block/blk-cgroup.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2022-04-20 06:27:17 +0200
committerJens Axboe <axboe@kernel.dk>2022-05-02 14:06:20 -0600
commitbbb1ebe7a909db4de49777fb7676d5bf293f34c9 (patch)
tree0cff6de0224344909db8e482e9167d93b94f8c2a /block/blk-cgroup.c
parentf4a6a61cb6d40d9ae63e47743d33200f3efe3fe7 (diff)
downloadlinux-bbb1ebe7a909db4de49777fb7676d5bf293f34c9.tar.bz2
blk-cgroup: replace bio_blkcg with bio_blkcg_css
All callers of bio_blkcg actually want the CSS, so replace it with an interface that does return the CSS. This now allows to move struct blkcg_gq to block/blk-cgroup.h instead of exposing it in a public header. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Tejun Heo <tj@kernel.org> Link: https://lore.kernel.org/r/20220420042723.1010598-10-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-cgroup.c')
-rw-r--r--block/blk-cgroup.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
index bb52797c02bd..8e32cc494808 100644
--- a/block/blk-cgroup.c
+++ b/block/blk-cgroup.c
@@ -156,6 +156,22 @@ static void blkg_async_bio_workfn(struct work_struct *work)
}
/**
+ * bio_blkcg_css - return the blkcg CSS associated with a bio
+ * @bio: target bio
+ *
+ * This returns the CSS for the blkcg associated with a bio, or %NULL if not
+ * associated. Callers are expected to either handle %NULL or know association
+ * has been done prior to calling this.
+ */
+struct cgroup_subsys_state *bio_blkcg_css(struct bio *bio)
+{
+ if (!bio || !bio->bi_blkg)
+ return NULL;
+ return &bio->bi_blkg->blkcg->css;
+}
+EXPORT_SYMBOL_GPL(bio_blkcg_css);
+
+/**
* blkcg_parent - get the parent of a blkcg
* @blkcg: blkcg of interest
*
@@ -1938,7 +1954,7 @@ void bio_associate_blkg(struct bio *bio)
rcu_read_lock();
if (bio->bi_blkg)
- css = &bio_blkcg(bio)->css;
+ css = bio_blkcg_css(bio);
else
css = blkcg_css();