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

Tycho Andersen tycho.andersen at canonical.com
Tue Aug 26 07:17:09 PDT 2014


Hi Pavel, Andrew,

On Mon, Aug 25, 2014 at 07:02:19PM +0400, Pavel Emelyanov wrote:
> 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?

Yes, we can remove it here, I just copied it from another cg hook.

>
> > 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:

I see it is already applied, sorry for the delay.

Tycho

> 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