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

Alexey Dobriyan
2009-03-05T21:54:14Z

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).

With time the amount of stuff C/R won't support will approach zero,
but the infrastructure for "checkpointable" will stay constant.
If it's too much right now, it will be way too much in future.

> sys_checkpoint()? You are yet to acknowledge that this is a valid use
> case, but it is exactly what Ingo is asking for, I believe.

It's a valid requirement.

> If nice printk()s are sufficient to cover what Ingo wants, I'm quite
> happy to remove the /proc files.