[CRIU] [PATCH] test: auto-dedup on restore
Andrew Vagin
avagin at parallels.com
Tue Feb 4 05:46:52 PST 2014
On Tue, Feb 04, 2014 at 09:59:15AM +0400, Tikhomirov Pavel wrote:
> Use maps04, on tmpfs, check if size of pages image is zero in the end
>
> Signed-off-by: Tikhomirov Pavel <snorcht at gmail.com>
> ---
> test/mem-snap/run-snap-maps04.sh | 72 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 72 insertions(+)
> create mode 100755 test/mem-snap/run-snap-maps04.sh
>
> diff --git a/test/mem-snap/run-snap-maps04.sh b/test/mem-snap/run-snap-maps04.sh
> new file mode 100755
> index 0000000..33b9213
> --- /dev/null
> +++ b/test/mem-snap/run-snap-maps04.sh
> @@ -0,0 +1,72 @@
> +#!/bin/bash
> +
> +source ../env.sh || exit 1
> +
> +USEPS=0
> +
> +if [ "$1" = "-s" ]; then
> + echo "Will test via page-server"
> + USEPS=1
> + shift
> +fi
> +
> +NRSNAP=1
> +SPAUSE=${2:-4}
> +PORT=12345
> +
> +function fail {
> + echo "$@"
> + exit 1
> +}
> +set -x
> +
> +IMGDIR="dump"
> +CURDIR=${pwd}
> +if ! mount | fgrep "$CURDIR/$IMGDIR" ; then
> + rm -rf "$IMGDIR"
> + mkdir "$IMGDIR"
> +
> + mount -t tmpfs -o size=1500M,nr_inodes=10k,mode=700 tmpfs $IMGDIR
> +fi
> +rm -rf "$IMGDIR/*"
> +
> +echo "Launching test"
> +cd ../zdtm/live/static/
> +make cleanout
> +make maps04
> +make maps04.pid || fail "Can't start test"
> +PID=$(cat maps04.pid)
> +kill -0 $PID || fail "Test haven't started"
> +cd -
> +
> +sleep $SPAUSE
What do you wait here?
> +mkdir "$IMGDIR/$NRSNAP/"
> +
> +if [ $USEPS -eq 1 ] ; then
> + ${CRIU} page-server -D "${IMGDIR}/$NRSNAP/" -o ps.log --port ${PORT} -v4 &
use -d instead of &, otherwise you have a race condition, because
criu dump can start before criu page-server
> + PS_PID=$!
> + ps_args="--page-server --address 127.0.0.1 --port=${PORT}"
> +else
> + ps_args=""
> +fi
> +
> +${CRIU} dump -D "${IMGDIR}/$NRSNAP/" -o dump.log -t ${PID} -v4 $ps_args || fail "Fail to dump"
CRIU can start before page-server
> +if [ $USEPS -eq 1 ] ; then
> + wait $PS_PID
> +fi
> +
> +echo "Restoring"
> +${CRIU} restore -D "${IMGDIR}/$NRSNAP/" -o restore.log --auto-dedup -d -v4 || fail "Fail to restore server"
What are you going to dedup on restore?
> +
> +cd ../zdtm/live/static/
> +make maps04.out
> +sleep 1
> +cat "maps04.out" | fgrep PASS || fail "Test failed"
> +
> +cd -
> +size=$(du -sh -BK dump/1/pages-*.img | grep -Eo '[0-9]+' | head -1)
> +if [ $size -ne 0 ] ; then
> + fail "Size not null"
> +fi
> +
> +echo "Test PASSED"
> --
> 1.8.3.2
>
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
More information about the CRIU
mailing list