[Devel] [PATCH] Reset pos in cr_write_pids()

Sukadev Bhattiprolu sukadev at linux.vnet.ibm.com
Wed Jan 21 21:14:07 PST 2009


Noticed this while reviewing the code in [v12] branch of your git tree.

---
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];
-- 
1.5.4.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