On 24/11/08 18:39 +0300, Andrey Mirkin wrote: > Introduce 2 flags for user-space and in-kernel process creation during > restart procedure. > Also a stub function for in-kernel process restart is introduced. > [...] > diff --git a/checkpoint/sys.c b/checkpoint/sys.c > index 7745500..e4a9287 100644 > --- a/checkpoint/sys.c > +++ b/checkpoint/sys.c > @@ -264,8 +264,8 @@ asmlinkage long sys_restart(int crid, int fd, unsigned long flags) > pid_t pid; > int ret; > > - /* no flags for now */ > - if (flags) > + if ((flags & (CR_CTX_RSTR_IN_USERSPACE | CR_CTX_RSTR_IN_USERSPACE)) == > + (CR_CTX_RSTR_IN_USERSPACE | CR_CTX_RSTR_IN_USERSPACE)) I guess that the intent was: + if ((flags & (CR_CTX_RSTR_IN_USERSPACE | CR_CTX_RSTR_IN_KERNEL)) == + (CR_CTX_RSTR_IN_USERSPACE | CR_CTX_RSTR_IN_KERNEL)) ? Louis > return -EINVAL; > > /* FIXME: for now, we use 'crid' as a pid */ > diff --git a/include/linux/checkpoint.h b/include/linux/checkpoint.h > index cab5e19..947469a 100644 > --- a/include/linux/checkpoint.h > +++ b/include/linux/checkpoint.h > @@ -61,6 +61,8 @@ struct cr_ctx { > /* cr_ctx: flags */ > #define CR_CTX_CKPT 0x1 > #define CR_CTX_RSTR 0x2 > +#define CR_CTX_RSTR_IN_USERSPACE 0x4 > +#define CR_CTX_RSTR_IN_KERNEL 0x8 > > extern int cr_kwrite(struct cr_ctx *ctx, void *buf, int count); > extern int cr_kread(struct cr_ctx *ctx, void *buf, int count); > @@ -108,6 +110,7 @@ extern int cr_write_mm(struct cr_ctx *ctx, struct task_struct *t); > extern int cr_write_files(struct cr_ctx *ctx, struct task_struct *t); > > extern int do_restart(struct cr_ctx *ctx, pid_t pid); > +extern int do_restart_in_kernel(struct cr_ctx *ctx); > extern int cr_read_mm(struct cr_ctx *ctx); > extern int cr_read_files(struct cr_ctx *ctx); > > -- > 1.5.6 > > -- > 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/ -- Dr Louis Rilling Kerlabs Skype: louis.rilling Batiment Germanium Phone: (+33|0) 6 80 89 08 23 80 avenue des Buttes de Coesmes http://www.kerlabs.com/ 35700 Rennes
Attachment:
signature.asc
Description: Digital signature
_______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers