This is a prep patch for a new test that will race blkg association and
request_queue cleanup. As blkg association is a underlying cgroup io
controller feature, we need the ability to check if the controller is
available.

Signed-off-by: Dennis Zhou <den...@kernel.org>
---
 common/cgroup | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/common/cgroup b/common/cgroup
index d445093..3481458 100644
--- a/common/cgroup
+++ b/common/cgroup
@@ -37,19 +37,27 @@ _have_cgroup2()
        return 0
 }
 
-_have_cgroup2_controller_file()
+_have_cgroup2_controller()
 {
-       _have_cgroup2 || return 1
-
        local controller="$1"
-       local file="$2"
-       local dir
+
+       _have_cgroup2 || return 1
 
        dir="$(_cgroup2_base_dir)"
+
        if ! grep -q "$controller" "$dir/cgroup.controllers"; then
                SKIP_REASON="no support for $controller cgroup controller; if 
it is enabled, you may need to boot with cgroup_no_v1=$controller"
                return 1
        fi
+}
+
+_have_cgroup2_controller_file()
+{
+       local controller="$1"
+       local file="$2"
+       local dir
+
+       _have_cgroup_2_controller "$controller" || return 1
 
        mkdir "$dir/blktests"
        echo "+$controller" > "$dir/cgroup.subtree_control"
-- 
2.17.1

Reply via email to