thoughts on checkpointing /proc/mounts

Serge E. Hallyn serue at us.ibm.com
Mon Mar 2 11:43:18 PST 2009


Quoting Dave Hansen (dave at linux.vnet.ibm.com):
> Christoph's suggestion that we go add f_ops individually is a really
> good way to get people thinking about individual cases that we have to
> deal with.
> 
> Can we checkpoint an *open* /proc/mounts?  I don't think we want to.  It
> could get really nasty really fast.  But, what if the f_pos is 0?  That
> makes it a lot easier.
> 
> If the "may checkpoint" flag is per-container (as Alexey has said) and
> one-way (as Ingo has said), does a single 'cat /proc/mounts' 5 days ago
> keep a container from being checkpointed today?
> 
> I just don't think the container-wide flag works if it is one way.
> 
> I think making it per-process or per-resource (so it can be more easily
> tracked at fork()/clone()/exec()) is the only way to go.  It makes it so
> simple since only the 'cat /proc/mounts' process becomes
> uncheckpointable.  Once it exits, we are OK and can checkpoint again.
> That all seems right to me. 
> 
> -- Dave

Well one way to look at it:

the files_struct may_checkpoint is the short-term big stick to put
pressure on us to fix things that are fixable.

the per-file ->checkpoint() will (I guess) always be able to return
an error.  So for now an open /proc/mounts fd will irreversibly make
the process non-checkpointable.  But eventually the files_struct
may_checkpoint flag will go away, and we'll just let each fd decide
at checkpoint time whether it's ok to checkpoint.

-serge


More information about the Containers mailing list