Messages in this thread Patch in this message | | | Date | Mon, 24 Nov 2008 17:02:11 +0100 | From | Louis Rilling <> | Subject | Re: [PATCH 1/2] Add flags for user-space and in-kernel process creation |
| |
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@vger.kernel.org > 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 [unhandled content-type:application/pgp-signature] | |