Commit 845a7245 authored by JP Kobryn's avatar JP Kobryn Committed by Tejun Heo
Browse files

cgroup: add helper for checking when css is cgroup::self



The cgroup struct has a css field called "self". The main difference
between this css and the others found in the cgroup::subsys array is that
cgroup::self has a NULL subsystem pointer. There are several places where
checks are performed to determine whether the css in question is
cgroup::self or not. Instead of accessing css->ss directly, introduce a
helper function that shows the intent and use where applicable.

Signed-off-by: default avatarJP Kobryn <inwardvessel@gmail.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent f6e9a26e
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -347,6 +347,11 @@ static inline bool css_is_dying(struct cgroup_subsys_state *css)
	return css->flags & CSS_DYING;
}

static inline bool css_is_cgroup(struct cgroup_subsys_state *css)
{
	return css->ss == NULL;
}

static inline void cgroup_get(struct cgroup *cgrp)
{
	css_get(&cgrp->self);
+2 −2
Original line number Diff line number Diff line
@@ -1706,7 +1706,7 @@ static void css_clear_dir(struct cgroup_subsys_state *css)

	css->flags &= ~CSS_VISIBLE;

	if (!css->ss) {
	if (css_is_cgroup(css)) {
		if (cgroup_on_dfl(cgrp)) {
			cgroup_addrm_files(css, cgrp,
					   cgroup_base_files, false);
@@ -1738,7 +1738,7 @@ static int css_populate_dir(struct cgroup_subsys_state *css)
	if (css->flags & CSS_VISIBLE)
		return 0;

	if (!css->ss) {
	if (css_is_cgroup(css)) {
		if (cgroup_on_dfl(cgrp)) {
			ret = cgroup_addrm_files(css, cgrp,
						 cgroup_base_files, true);