[CRIU] [PATCH] zdtm: add ability to execute tests on aufs

Andrew Vagin avagin at parallels.com
Wed Sep 3 00:32:49 PDT 2014


On Tue, Sep 02, 2014 at 03:14:17PM -0700, Saied Kazemi wrote:
> Pertaining to my previous email, I noticed that when I upgraded my Ubuntu
> 14.04's default 3.13 kernel to 3.15 using instructions at http://
> ubuntuhandbook.org/index.php/2014/06/install-upgrade-linux-kernel-3-15, it
> lacks AUFS support causing Docker to use VFS.
> 
> I need to test the same system as yours with 3.15 kernel and AUFS support.
>  What are you using?

I use the aufs3.16 branch of https://github.com/sfjro/aufs3-linux

> 
> --Saied
> 
> 
> 
> On Tue, Sep 2, 2014 at 11:36 AM, Saied Kazemi <saied at google.com> wrote:
> 
>     Andrew,
> 
>     I installed 3.15 and ran the env00 test but it succeeded for me (please see
>     below).  I also verified that checkpointing and restoring Docker containers
>     using AUFS still works.
> 
>     I noticed that you're specifying --aufs which was removed in commit
>     102a6778.
> 
>     Can you please try again with CRIU source from the head?  If it still
>     fails, please send me specific information on how to reproduce the problem.
> 
>     Thanks,
> 
>     --Saied
> 
>     $ uname -a
>     Linux saied-docker 3.15.0-031500-generic #201406131105 SMP Fri Jun 13
>     15:06:46 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>     $ sudo bash test/zdtm.sh ns/static/env00
>     ================================= CRIU CHECK ==============================
>     ===
>     Error (timerfd.c:56): timerfd: No timerfd support for c/r: Inappropriate
>     ioctl for device
>     ============================= WARNING =============================
>     Not all features needed for CRIU are merged to upstream kernel yet,
>     so for now we maintain our own branch which can be cloned from:
>     git://git.kernel.org/pub/scm/linux/kernel/git/gorcunov/linux-cr.git
>     ===================================================================
>     Execute zdtm/live/static/env00
>     ./env00 --pidfile=env00.pid --outfile=env00.out --envname=ENV_00_TEST
>     /home/saied/work/crtools.upstream/test
>     Dump 6558
>     Restore
>     Check results 6587
>     18:26:23.831:     5: PASS
>     Test: zdtm/live/static/env00, Result: PASS
>     ZDTM tests PASS.
> 
>     $ 
> 
> 
>     On Tue, Sep 2, 2014 at 9:07 AM, Saied Kazemi <saied at google.com> wrote:
> 
>         Hi Andrew,
> 
>         I was kind of afraid of this because none of the kernels that I had
>         supported mnt_id.  I will install 3.15 to investigate the issue and get
>         back to you soon.
>        
>         --Saied
> 
>        
> 
>         On Tue, Sep 2, 2014 at 7:05 AM, Andrew Vagin <avagin at parallels.com>
>         wrote:
> 
>             Hi Saied,
> 
>             I found an issue, which blocks testing of aufs.
>             We can't dump nothing on a new kernel (3.15), which shows mnt_id in
>             /proc/PID/fdinfo/FD. Looks like we need to fixup mnt_id for aufs
>             files
>             too.
> 
>             Said, could you look at this issue?
> 
> 
>             [root at avagin-fc19-cr criu]# bash  test/zdtm.sh --aufs  ns/static/
>             env00
>             ================================= CRIU CHECK ======================
>             ===========
>             Error (timerfd.c:56): timerfd: No timerfd support for c/r:
>             Inappropriate ioctl for device
>             ============================= WARNING =============================
>             Not all features needed for CRIU are merged to upstream kernel yet,
>             so for now we maintain our own branch which can be cloned from:
>             git://git.kernel.org/pub/scm/linux/kernel/git/gorcunov/linux-cr.git
>             ===================================================================
>             Execute zdtm/live/static/env00
>             ./env00 --pidfile=env00.pid --outfile=env00.out --envname=
>             ENV_00_TEST
>             /root/git/orig/criu/test
>             Dump 30437
>             WARNING: env00 returned 1 and left running for debug needs
>             Test: zdtm/live/static/env00, Result: FAIL
>             ==================================== ERROR ========================
>             ============
>             Test: zdtm/live/static/env00, Namespace: 1
>             Dump log   : /root/git/orig/criu/test/dump/static/env00/30437/1/
>             dump.log
>             --------------------------------- grep Error
>             ---------------------------------
>             (00.035741) Error (files-reg.c:629): Unable to look up the 33 mount
>             (00.035771) Error (cr-dump.c:1665): Dump mappings (pid: 30437)
>             failed with -1
>             (00.036042) Error (cr-dump.c:1953): Dumping FAILED.
>             ------------------------------------- END
>             -------------------------------------
>             ================================= ERROR OVER ======================
>             ===========
> 
>             [root at avagin-fc19-cr criu]# cat /proc/30437/mountinfo
>             68 42 0:33 / / rw,relatime - aufs none rw,si=46777ba2737567db
>             43 68 0:35 / /proc rw,relatime - proc proc rw
>             44 68 0:36 / /dev/pts rw,relatime - devpts pts rw,mode=666,ptmxmode
>             =666
> 
>             [root at avagin-fc19-cr criu]# cat /proc/self/mountinfo | grep ^33
>             33 0 8:3 / / rw,relatime shared:1 - ext4 /dev/sda3 rw,data=ordered
> 
> 
> 
>             On Sat, Aug 30, 2014 at 02:49:22PM +0400, Andrew Vagin wrote:
>             > And here are a few issues:
>             >
>             > + cat /tmp/criu-root.7GvnTZ/dump/static/cwd01/6970/1/dump.log
>             > (00.012328) Error (cr-dump.c:303): Can't open 6974/cwd on procfs:
>             Stale file handle
>             > (00.012350) Error (cr-dump.c:1671): Dump fs (pid: 6974) failed
>             with -1
>             > (00.012528) Error (cr-dump.c:1953): Dumping FAILED.
>             >
>             > + cat /tmp/criu-root.HTTKBE/dump/static/unlink_fstat03/14801/1/
>             dump.log
>             > (00.009870) Error (files-reg.c:455): Can't link remap to /zdtm/
>             live/static/unlink_fstat03.test (deleted): No such file or
>             directory
>             > (00.009906) Error (cr-dump.c:1603): Dump files (pid: 14805)
>             failed with -1
>             > (00.010533) Error (cr-dump.c:1953): Dumping FAILED.
>             >
>             > + cat /tmp/criu-root.HDf6Nn/dump/static/unlink_mmap00/23065/1/
>             dump.log
>             > (00.008996) Error (proc_parse.c:472): Failed stat on 23069's map
>             47071697305600 (/tmp/criu-root.HDf6Nn/zdtm/live/static/
>             unlink_mmap00.test (deleted)): No such file or directory
>             > (00.009021) Error (cr-dump.c:1515): Collect mappings (pid: 23069)
>             failed with -1
>             > (00.009228) Error (cr-dump.c:1953): Dumping FAILED.
>             >
>             > + cat /tmp/criu-root.XULszc/dump/static/inotify00/30616/1/
>             dump.log
>             > (00.010422) Error (proc_parse.c:1345): parse_fdinfo_pid_s: error
>             parsing [inotify wd:2 ino:1202 sdev:24 mask:800afff ignored_mask:0
>             > (00.010465) Error (cr-dump.c:1603): Dump files (pid: 30620)
>             failed with -1
>             > (00.011124) Error (cr-dump.c:1953): Dumping FAILED.
>             >
>             > We have problems with unlinked files and fsnotifies.
>             >
>             > Cc: Saied Kazemi <saied at google.com>
>             > Signed-off-by: Andrew Vagin <avagin at openvz.org>
>             > ---
>             >  test/zdtm.sh | 11 ++++++++++-
>             >  1 file changed, 10 insertions(+), 1 deletion(-)
>             >
>             > diff --git a/test/zdtm.sh b/test/zdtm.sh
>             > index eee3342..f92a63f 100755
>             > --- a/test/zdtm.sh
>             > +++ b/test/zdtm.sh
>             > @@ -412,7 +412,12 @@ start_test()
>             >                       mkdir -p dump
>             >                       ZDTM_ROOT=`mktemp -d /tmp/criu-root.XXXXXX`
>             >                       ZDTM_ROOT=`readlink -f $ZDTM_ROOT`
>             > -                     mount --make-private --bind . $ZDTM_ROOT ||
>             return 1
>             > +                     if [ -z "$ZDTM_AUFS" ]; then
>             > +                             mount --make-private --bind .
>             $ZDTM_ROOT || return 1
>             > +                     else
>             > +                             mount -t aufs -o br=. none
>             $ZDTM_ROOT || return 1
>             > +                             cd $ZDTM_ROOT
>             > +                     fi
>             >               fi
>             >               construct_root $ZDTM_ROOT $test || return 1
>             >               export ZDTM_NEWNS=1
>             > @@ -901,6 +906,10 @@ while :; do
>             >               }
>             >               shift
>             >               ;;
>             > +     --aufs)
>             > +             export ZDTM_AUFS=1
>             > +             shift
>             > +             ;;
>             >         -*)
>             >               echo "Unrecognized option $1, aborting!" 1>&2
>             >               usage
>             > --
>             > 1.9.3
>             >
> 
> 
> 
> 
> 
> 


More information about the CRIU mailing list