Re: [RFC v10][PATCH 02/13] Checkpoint/restart: initialdocumentation

From: Dave Hansen
Date: Mon Dec 01 2008 - 13:15:54 EST


On Fri, 2008-11-28 at 10:45 +0000, Al Viro wrote:
> On Wed, Nov 26, 2008 at 08:04:33PM -0500, Oren Laadan wrote:
> > +Currently, namespaces are not saved or restored. They will be treated
> > +as a class of a shared object. In particular, it is assumed that the
> > +task's file system namespace is the "root" for the entire container.
> > +It is also assumed that the same file system view is available for the
> > +restart task(s). Otherwise, a file system snapshot is required.
>
> That is to say, bindings are not handled at all.

Sadly, no. I'm trying to convince Oren that this is important, but I've
been unable to do so thus far. I'd appreciate any particularly
pathological cases you can think of.

There are two cases here that worry me. One is the case where we're
checkpointing a container that has been off in its own mount namespace
doing bind mounts to its little heart's content. We want to checkpoint
and restore the sucker on the same machine. In this case, we almost
certainly want the kernel to be doing the restoration of the binds.

The other case is when we're checkpointing, and moving to a completely
different machine. The new machine may have a completely different disk
layout and *need* the admin doing the sys_restore() to set up those
binds differently because of space constraints or whatever.

For now, we're completely assuming the second case, where the admin
(userspace) is responsible for it, and punting. Do you think this is
something we should take care of now, early in the process?

> > +* What additional work needs to be done to it?
>
> > +We know this design can work. We have two commercial products and a
> > +horde of academic projects doing it today using this basic design.
>
> May I use that for a t-shirt, please? With that quote in foreground, and
> pus-yellow-greenish "MACH" serving as background. With the names of products
> and projects dripping from it...

*Functionally* we know this design can work. Practically, in Linux, I
have no freaking idea. The hard part isn't getting it working, of
course. The hard part is getting something that doesn't step on top of
everyone else's toes in the kernel and, at the same time, is actually
*maintainable*.

-- Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/