[Devel] Re: [PATCH] c/r: get rid of ckpt_hdr_vpids - can be inferred at restart
Serge E. Hallyn
serue at us.ibm.com
Tue Mar 30 07:15:48 PDT 2010
Quoting Oren Laadan (orenl at cs.columbia.edu):
> Signed-off-by: Oren Laadan <orenl at cs.columbia.edu>
Acked-by: Serge Hallyn <serue at us.ibm.com>
> ---
> checkpoint/checkpoint.c | 11 -----------
> checkpoint/restart.c | 12 ++++--------
> include/linux/checkpoint_hdr.h | 8 --------
> 3 files changed, 4 insertions(+), 27 deletions(-)
>
> diff --git a/checkpoint/checkpoint.c b/checkpoint/checkpoint.c
> index 76687f7..7bcc51d 100644
> --- a/checkpoint/checkpoint.c
> +++ b/checkpoint/checkpoint.c
> @@ -542,7 +542,6 @@ static int build_tree(struct ckpt_ctx *ctx)
> static int checkpoint_tree(struct ckpt_ctx *ctx)
> {
> struct ckpt_hdr_tree *h;
> - struct ckpt_hdr_vpids *hvpids;
> int ret;
>
> h = ckpt_hdr_get_type(ctx, sizeof(*h), CKPT_HDR_TREE);
> @@ -560,16 +559,6 @@ static int checkpoint_tree(struct ckpt_ctx *ctx)
> if (ret < 0)
> return ret;
>
> - hvpids = ckpt_hdr_get_type(ctx, sizeof(*hvpids), CKPT_HDR_VPIDS);
> - if (!hvpids)
> - return -ENOMEM;
> -
> - hvpids->nr_vpids = ctx->nr_vpids;
> -
> - ret = ckpt_write_obj(ctx, &hvpids->h);
> - ckpt_hdr_put(ctx, hvpids);
> - if (ret < 0)
> - return ret;
> if (ctx->nr_vpids == 0)
> return 0;
>
> diff --git a/checkpoint/restart.c b/checkpoint/restart.c
> index c25ce88..2102028 100644
> --- a/checkpoint/restart.c
> +++ b/checkpoint/restart.c
> @@ -767,16 +767,12 @@ static int restore_read_tree(struct ckpt_ctx *ctx)
> */
> static int restore_slurp_vpids(struct ckpt_ctx *ctx)
> {
> - struct ckpt_hdr_vpids *h;
> - int size, ret;
> + int size, ret, i;
>
> - h = ckpt_read_obj_type(ctx, sizeof(*h), CKPT_HDR_VPIDS);
> - if (IS_ERR(h))
> - return PTR_ERR(h);
> - ctx->nr_vpids = h->nr_vpids;
> - ckpt_hdr_put(ctx, h);
> + for (i = 0; i < ctx->nr_pids; i++)
> + ctx->nr_vpids += ctx->pids_arr[i].depth;
>
> - if (!ctx->nr_vpids)
> + if (ctx->nr_vpids == 0)
> return 0;
>
> size = sizeof(__s32) * ctx->nr_vpids;
> diff --git a/include/linux/checkpoint_hdr.h b/include/linux/checkpoint_hdr.h
> index 21624d7..36386ad 100644
> --- a/include/linux/checkpoint_hdr.h
> +++ b/include/linux/checkpoint_hdr.h
> @@ -117,8 +117,6 @@ enum {
> #define CKPT_HDR_GROUPINFO CKPT_HDR_GROUPINFO
> CKPT_HDR_TASK_CREDS,
> #define CKPT_HDR_TASK_CREDS CKPT_HDR_TASK_CREDS
> - CKPT_HDR_VPIDS,
> -#define CKPT_HDR_VPIDS CKPT_HDR_VPIDS
>
> /* 201-299: reserved for arch-dependent */
>
> @@ -348,12 +346,6 @@ struct ckpt_pids {
> __s32 depth; /* pid namespace depth relative to container init */
> } __attribute__((aligned(8)));
>
> -/* number of vpids */
> -struct ckpt_hdr_vpids {
> - struct ckpt_hdr h;
> - __s32 nr_vpids;
> -} __attribute__((aligned(8)));
> -
> /* pids */
> #define CKPT_PID_NULL -1
>
> --
> 1.6.3.3
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list