[CRIU] [PATCH 2/2] tests: add a test for --cgroup-root

Pavel Emelyanov xemul at parallels.com
Mon Aug 25 08:02:19 PDT 2014


On 08/25/2014 06:19 PM, Andrew Vagin wrote:
> On Fri, Aug 15, 2014 at 05:02:22PM -0500, Tycho Andersen wrote:
>> diff --git a/test/zdtm/live/static/cgroup02.hook b/test/zdtm/live/static/cgroup02.hook
>> new file mode 100755
>> index 0000000..c99f4ea
>> --- /dev/null
>> +++ b/test/zdtm/live/static/cgroup02.hook
>> @@ -0,0 +1,27 @@
>> +#!/bin/bash
>> +
>> +set -e
>> +
>> +rmroots() {
>> +	echo "Cleaning $tname"
>> +
>> +	set +e
> 
> Tycho, could you explain why do we need "set +e" here? Can we
> remove it, if we will check existance of a directory?
> 
> test -d "$tname/oldroot" && rmdir "$tname/oldroot"
> 
>> +	rmdir "$tname/oldroot"
>> +	rmdir "$tname/newroot"
> 
> And here is one more problem. the newroot directory is created for all
> controllers, but currently test cleans up it only for the zdtmtst
> controller. We need to find a way to clean up all other conntrollers.
> Tests are executed on a node, which is rebooted only for updating
> kernel, so if we will not clean up all other controllers, we can eat all
> memory.

How about this? Guys, could you check whether this patch works for you:

diff --git a/test/zdtm/live/static/cgroup02.hook b/test/zdtm/live/static/cgroup02.hook
index c99f4ea..5f4d042 100755
--- a/test/zdtm/live/static/cgroup02.hook
+++ b/test/zdtm/live/static/cgroup02.hook
@@ -3,7 +3,9 @@
 set -e
 
 rmroots() {
-	echo "Cleaning $tname"
+	echo "Cleaning $tname ($1)"
+
+	mount -t cgroup none $tname -o "$1"
 
 	set +e
 	rmdir "$tname/oldroot"
@@ -14,14 +16,12 @@ rmroots() {
 	echo "Left there is:"
 	ls "$tname"
 	umount "$tname"
-	rmdir "$tname"
 }
 
 tname=$(mktemp -d cgclean.XXXXXX)
-mount -t cgroup none $tname -o "none,name=zdtmtst"
-rmroots
 
-tname=$(mktemp -d cgclean.XXXXXX)
-mount -t cgroup none $tname -o "none,name=defaultroot"
-rmroots
+for ctl in $(cat /proc/self/cgroup | cut -d: -f2); do
+	rmroots "$ctl"
+done
 
+rmdir $tname

---



More information about the CRIU mailing list