[PATCH] Reset pos in cr_write_pids()

Oren Laadan orenl at cs.columbia.edu
Fri Jan 23 15:08:10 PST 2009


Sukadev Bhattiprolu wrote:
> Noticed this while reviewing the code in [v12] branch of your git tree.

Thanks. Will fix.

Oren.

> 
> ---
> From: Sukadev Bhattiprolu <suka at sukaT61.(none)>
> Date: Wed, 21 Jan 2009 21:10:34 -0800
> Subject: [PATCH] Reset pos in cr_write_pids()
> 
> If the number of tasks exceed CR_HDR_PIDS_CHUNK, pos must be reset
> for a second iteration in the outer loop.
> ---
>  checkpoint/checkpoint.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/checkpoint/checkpoint.c b/checkpoint/checkpoint.c
> index fbcd9eb..3136850 100644
> --- a/checkpoint/checkpoint.c
> +++ b/checkpoint/checkpoint.c
> @@ -297,7 +297,7 @@ static int cr_write_pids(struct cr_ctx *ctx)
>  	struct pid_namespace *ns;
>  	struct task_struct *task;
>  	struct task_struct **tasks_arr;
> -	int tasks_nr, n, ret = 0, pos = 0;
> +	int tasks_nr, n, ret = 0, pos;
>  
>  	ns = ctx->root_nsproxy->pid_ns;
>  	tasks_arr = ctx->tasks_arr;
> @@ -306,6 +306,7 @@ static int cr_write_pids(struct cr_ctx *ctx)
>  	hh = cr_hbuf_get(ctx, sizeof(*hh) * CR_HDR_PIDS_CHUNK);
>  
>  	while (tasks_nr > 0) {
> +		pos = 0;
>  		rcu_read_lock();
>  		for (n = min(tasks_nr, CR_HDR_PIDS_CHUNK); n; n--) {
>  			task = tasks_arr[pos];


More information about the Containers mailing list