[CRIU] Sync TODO-s for mount.c work
Tycho Andersen
tycho.andersen at canonical.com
Fri Apr 24 13:17:27 PDT 2015
On Fri, Apr 24, 2015 at 10:43:06PM +0300, Pavel Emelyanov wrote:
> On 04/24/2015 09:29 PM, Oleg Nesterov wrote:
> > Sorry, I was busy today. And didn't sleep ;) So I can't follow this
> > discussion today. Will try tomorrow.
> >
> > But I am all confused...
> >
> > On 04/23, Pavel Emelyanov wrote:
> >>
> >> Ah, sure. It should be NOT before master_is_external, like this
> >>
> >> (fsroot_mounted(m) || root_is_visible(m)) && !master_is_external()
> >>
> >> Provided master_is_external() is false for private mounts, this should
> >> handle Oleg's case with mount --make-rprivate,
> > ^^^^^^^^^^^^^
> > --make-rslave
> >
> > How???
> >
> > I mean, once again, that we need more changes than correct implementaion
> > of is_not_external().
> >
> > In case of my "--make-rslave" example everything will be master_is_external,
> > and
> >
> >> all mountpoints will be bind-mounted from host with MS_SLAVE flag.
> >
> > this won't restore the mountpoint correctly?
>
> Why not? Will, but in sub-optimal manner -- instead of just cloning the mounts
> tree criu will umount all the cloned mountpoints, then all the host mountpoints
> will be duplicatied (when you bind-mount a point it gets effectively duplicated
> but with probably different mountpoint) and then moved to slave mode.
I thought (?) this is how it would work now, but Oleg's original
testcase gives some error about shmem not found, so something must be
wrong:
http://lists.openvz.org/pipermail/criu/2015-April/019859.html
I suppose this has to do with shmem itself being a bind mount, but I'm
not sure what.
Tycho
> > OK, most probably I misenderstood you/Tycho. Will try to read this all
> > tomorrow.
>
> Sure :)
>
> -- Pavel
More information about the CRIU
mailing list