[LTP] [PATCH] controllers/cgroup_regression_test.sh: Fix two issues
Xiao Yang
yangx.jy@cn.fujitsu.com
Fri Jan 18 12:16:11 CET 2019
1) "umount cgroup" operation will umount pre-existent cgroup subsystem
if "cgroup" mountpoint doesn't exist, because "cgroup" was treated
as source(device) instead of target(mountpoint) in this case. e.g.
-----------------------------------------------------------
cd /tmp
mount -t cgroup -o cpu xxx cgroup/
mount | egrep "cpu|pids"
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
xxx on /tmp/cgroup type cgroup (rw,relatime,seclabel,cpu)
umount cgroup
mount | egrep "cpu|pids"
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
umount cgroup
mount | egrep "cpu|pids"
(nothing)
-----------------------------------------------------------
2) If pre-existent cgroup subsystem mountpoint is used, test3()
may remove the directories that are not created by test.
Fixes: 3cac1f80d ("cgroup: cgroup_regression_test.sh ported to newlib")
Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
---
.../controllers/cgroup/cgroup_regression_test.sh | 28 +++++++++++-----------
1 file changed, 14 insertions(+), 14 deletions(-)
diff --git a/testcases/kernel/controllers/cgroup/cgroup_regression_test.sh b/testcases/kernel/controllers/cgroup/cgroup_regression_test.sh
index 0e17ad1..6868609 100755
--- a/testcases/kernel/controllers/cgroup/cgroup_regression_test.sh
+++ b/testcases/kernel/controllers/cgroup/cgroup_regression_test.sh
@@ -37,7 +37,7 @@ do_cleanup()
{
if mountpoint -q cgroup/; then
find cgroup/ -maxdepth 1 -depth -exec rmdir {} +
- umount cgroup
+ umount cgroup/
rmdir cgroup
fi
}
@@ -109,7 +109,7 @@ test1()
kill -TERM $!
wait $! 2>/dev/null
- umount cgroup
+ umount cgroup/
check_kernel_bug
}
@@ -145,7 +145,7 @@ test2()
fi
rmdir cgroup/0 cgroup/1
- umount cgroup
+ umount cgroup/
}
#---------------------------------------------------------------------------
@@ -192,8 +192,8 @@ test3()
wait $pid1 2>/dev/null
wait $pid2 2>/dev/null
- rmdir $cpu_subsys_path/* 2> /dev/null
- umount cgroup 2> /dev/null
+ rmdir $cpu_subsys_path/0 2> /dev/null
+ umount cgroup/ 2> /dev/null
check_kernel_bug
}
@@ -222,7 +222,7 @@ test4()
mount -t cgroup -o none,name=foo cgroup cgroup/
mkdir cgroup/0
rmdir cgroup/0
- umount cgroup
+ umount cgroup/
if dmesg | grep -q "MAX_LOCKDEP_SUBCLASSES too low"; then
tst_res TFAIL "lockdep BUG was found"
@@ -285,7 +285,7 @@ test5()
if [ $? -eq 0 ]; then
tst_res TFAIL "mount $failing should fail"
# Do NOT unmount pre-existent mountpoints...
- [ -z "$mounted" ] && umount $mntpoint
+ [ -z "$mounted" ] && umount $mntpoint/
return
fi
@@ -303,7 +303,7 @@ test5()
wait $! 2>/dev/null
rmdir $mntpoint/0
# Do NOT unmount pre-existent mountpoints...
- [ -z "$mounted" ] && umount $mntpoint
+ [ -z "$mounted" ] && umount $mntpoint/
check_kernel_bug
}
@@ -339,7 +339,7 @@ test6()
mount -t cgroup -o ns xxx cgroup/ > /dev/null 2>&1
rmdir cgroup/[1-9]* > /dev/null 2>&1
- umount cgroup
+ umount cgroup/
check_kernel_bug
}
@@ -381,7 +381,7 @@ test_7_1()
mount -t cgroup -o remount xxx cgroup/ 2> /dev/null
kill -TERM $!
wait $! 2>/dev/null
- umount cgroup
+ umount cgroup/
fi
}
@@ -404,7 +404,7 @@ test_7_2()
mount -t cgroup -o remount,$subsys xxx cgroup/ 2> /dev/null
kill -TERM $!
wait $! 2>/dev/null
- umount cgroup
+ umount cgroup/
grep -q -w "cpu" /proc/cgroups
if [ $? -ne 0 -o ! -e /proc/sched_debug ]; then
@@ -460,7 +460,7 @@ test8()
tst_res TFAIL "should have failed to get cgroupstat of tasks file"
fi
- umount cgroup
+ umount cgroup/
check_kernel_bug
}
@@ -484,7 +484,7 @@ test9()
wait $pid1 2>/dev/null
wait $pid2 2>/dev/null
- umount cgroup 2> /dev/null
+ umount cgroup/ 2> /dev/null
check_kernel_bug
}
@@ -510,7 +510,7 @@ test10()
mount -t cgroup none cgroup 2> /dev/null
mkdir cgroup/0
rmdir cgroup/0
- umount cgroup 2> /dev/null
+ umount cgroup/ 2> /dev/null
check_kernel_bug
}
--
1.8.3.1
More information about the ltp
mailing list