Re: [RFC][PATCH 00/11] track files for checkpointability

Serge E. Hallyn
2009-03-06T15:36:05Z

Quoting Greg Kurz (gkurz@fr.ibm.com):
> On Fri, 2009-03-06 at 01:00 +0300, Alexey Dobriyan wrote:
> > On Thu, Mar 05, 2009 at 01:27:07PM -0800, Dave Hansen wrote:
> > > > Imagine, unsupported file is opened between userspace checks
> > > > for /proc/*/checkpointable and /proc/*/fdinfo/*/checkpointable
> > > > and whatever, you stil have to do all the checks inside checkpoint(2).
> > >
> > > Alexey, we have two problems here. I completely agree that we have to
> > > do complete and thorough checks of each file descriptor at
> > > sys_checkpoint(). Any checks made at other times should not be trusted.
> > >
> > > The other side is what Ingo has been asking for. How do we *know* when
> > > we are checkpointable *before* we call (and without calling)
> >
> > This "without calling checkpoint(2)" results in much complications
> > as demonstrated.
> >
> > task_struct and file are not like other structures because they are exposed
> > in /proc. For PROC_FS=n kernels, one can't even check.
> >
> > You can do checkpoint(2) without actual dump. You pass, you're most
> > certainly checkpointable (with inevitable race condition in mind).
> >
>
> Ahhh thank you very much Alexey ! I wanted to explain this to Dave a few
> monthes ago but I failed... probably because of my poor English skills.
>
> https://lists.linux-foundation.org/pipermail/containers/2008-October/013549.html
>
> Why would we add checking all over the place when it MUST be done on the
> sys_checkpoint() path ? The checkpoint(2) dry-run is definitely the way
> to go.

I'm sure Dave understood that this was possible :)

But what you and Alexey are proposing does not and cannot fullfill
Ingo's requirement.

-serge