[RFC][PATCH 2/2] first callers of process_deny_checkpoint()

Serge E. Hallyn serue at us.ibm.com
Fri Oct 10 07:04:30 PDT 2008


Quoting Cedric Le Goater (clg at fr.ibm.com):
> > diff -puN ipc/mqueue.c~no-checkpointing-for-sockets ipc/mqueue.c
> > --- linux-2.6.git/ipc/mqueue.c~no-checkpointing-for-sockets	2008-10-09 11:56:58.000000000 -0700
> > +++ linux-2.6.git-dave/ipc/mqueue.c	2008-10-09 11:56:58.000000000 -0700
> > @@ -14,6 +14,7 @@
> >   */
> >  
> >  #include <linux/capability.h>
> > +#include <linux/checkpoint.h>
> >  #include <linux/init.h>
> >  #include <linux/pagemap.h>
> >  #include <linux/file.h>
> > @@ -655,6 +656,8 @@ asmlinkage long sys_mq_open(const char _
> >  	char *name;
> >  	int fd, error;
> >  
> > +	process_deny_checkpointing(current);
> > +
> 
> mqueue being a file system, i would put the checks in the inode_operations.
> 
> Also, you can't always deny ! I would expect some allow in sys_mq_unlink().

Remember a part of Ingo's motivation is to push c/r developers to
address the lacking features that users use most, earlier.  So the
warnings and subsequent email complaints are what we're after.  Hence a
single 'checkpointable or not' flag.

Given the single flag, how do you know at sys_mq_unlink() whether the
process also has an opensocket?

Rather than make this tracking facility more complicated and intrusive,
if people complain that they couldn't checkpoint bc of a warning about
aio, then we implement aio c/r!  We don't just try and reduce the amount
of time that you can't checkpoint bc of lack of aio c/r support  :)

-serge


More information about the Containers mailing list