[CRIU] Restoring lxc-1.1.5 centos 7 container with httpd fails

Adrian Reber adrian at lisas.de
Thu May 12 08:43:47 PDT 2016


On Thu, May 12, 2016 at 05:45:05PM +0300, Pavel Emelyanov wrote:
> On 05/12/2016 09:12 AM, Adrian Reber wrote:
> > On Wed, May 11, 2016 at 02:32:23PM -0700, Andrey Vagin wrote:
> >> On Wed, May 11, 2016 at 09:35:54AM +0200, Adrian Reber wrote:
> >>> Hello Andrey,
> >>>
> >>> I applied your last three patches from the CRIU ML:
> >>>
> >>> mount: create a clean mount only if a sub directory is bind-mounted
> >>> mount: don't overmount a mount if it should be bind-mounted somewhere
> >>> mount: dump a file system only if a mount point isn't overmounted
> >>>
> >>> and I can checkpoint and restore a lxc container with httpd, mongodb and
> >>> postgresql running in it. I haven't yet checked if all patches are
> >>> necessary for my problem, but I can look further into it if you want.
> >>>
> >>> If I start mariadb I still get
> >>
> >> https://gist.github.com/avagin/5972076d9ae5aac5d3053a646c01bfe9
> >>
> >> There is something wrong with aio. Kirill, could you help us with this
> >> error? I know that you met the same problem in VZ.
> >>
> >> pie: Error (pie/restorer.c:582): wrong aio parametrs: tail=0x0 head=0x>
> >> pie: 0 nr=0xbe len=0x3000
> > 
> > I should have looked closer at the log file. This is a RHEL/CentOS
> > problem. I have to carry following patch in the CRIU rpm package to deal
> > with AIO:
> 
> Would you submit this patch with proper commit message? :)

I don't think this should be included. This is only required for the
RHEL/CentOS kernel and based on a suggestion from Oleg.

> > --- a/criu/aio.c        2015-07-01 11:02:50.360004543 -0400
> > +++ b/criu/aio.c        2015-07-01 11:03:33.099757812 -0400
> > @@ -61,7 +61,7 @@
> >          * up back to the k_max_reqs.
> >          */
> >  
> > -       return (k_max_reqs - 2) / 2;
> > +       return (k_max_reqs - 2);
> >  }
> >  
> >  unsigned long aio_rings_args_size(struct vm_area_list *vmas)
> > 
> > https://git.centos.org/blob/rpms!criu/d3d9a8a7e792a6c594097d8d35312a9d1735afa5/SOURCES!aio-fix.patch
> > 
> > https://git.centos.org/blob/rpms!criu/d3d9a8a7e792a6c594097d8d35312a9d1735afa5/SPECS!criu.spec#L11
> > 
> > With this patch applied on your mount patches on top of criu-dev, I can
> > now also checkpoint and restart a mariadb container. In fact I have
> > container with mariadb, postgresql, mongodb, httpd and tomcat running
> > and I can checkpoint and restore it without a problem.

		Adrian


More information about the CRIU mailing list