[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