If a system configuration tool such as systemd sets up the io cgroup
controller for its own purposes, it's possible that the last line of
this test will not be able to remove the io controller from the system
configuration. This causes the test to fail even though the inability
to tear down systemd should not be considered (in this case) a failure.
Change this test to set the "io" component of subtree control back to
whatever it was when the test started.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
_mkfs_dev $LOOP_DEV >> $seqres.full 2>&1
_mount $LOOP_DEV $SCRATCH_MNT || _fail "mount failed"
+drop_io_cgroup=
+grep -q -w io $cgdir/cgroup.subtree_control || drop_io_cgroup=1
+
echo "+io" > $cgdir/cgroup.subtree_control || _fail "subtree control"
# Read and write from a single group.
check_cg $cgdir/$seq-cg $iosize $iosize
check_cg $cgdir/$seq-cg-2 0 0
-echo "-io" > $cgdir/cgroup.subtree_control || _fail "subtree control"
+if [ "$drop_io_cgroup" = 1 ]; then
+ echo "-io" > $cgdir/cgroup.subtree_control || _fail "subtree control"
+fi
# success, all done
status=0