[Devel] [PATCH 1/1] clean up checkpoint_task_objs
Serge E. Hallyn
serue at us.ibm.com
Mon Dec 14 11:41:45 PST 2009
Make the flow more regular. With the existing code, one can barely
find the call to checkpoint_task_obj_ns() even if looking for it!
This is on top of the task->fs c/r patch I sent last week.
Signed-off-by: Serge E. Hallyn <serue at us.ibm.com>
---
checkpoint/process.c | 17 ++++++++++++-----
1 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/checkpoint/process.c b/checkpoint/process.c
index 603bbf4..bef909a 100644
--- a/checkpoint/process.c
+++ b/checkpoint/process.c
@@ -247,12 +247,17 @@ static int checkpoint_task_objs(struct ckpt_ctx *ctx, struct task_struct *t)
ret = checkpoint_task_creds(ctx, t);
ckpt_debug("cred: objref %d\n", ret);
- if (!ret) {
- ret = checkpoint_task_ns(ctx, t);
- ckpt_debug("ns: objref %d\n", ret);
+ if (ret < 0) {
+ ckpt_err(ctx, ret, "%(T)process credentials\n");
+ return ret;
}
- if (ret < 0)
+
+ ret = checkpoint_task_ns(ctx, t);
+ ckpt_debug("ns: objref %d\n", ret);
+ if (ret < 0) {
+ ckpt_err(ctx, ret, "%(T)process namespaces\n");
return ret;
+ }
fs_objref = checkpoint_get_task_fs(ctx, t);
if (fs_objref < 0) {
@@ -291,8 +296,10 @@ static int checkpoint_task_objs(struct ckpt_ctx *ctx, struct task_struct *t)
signal_objref = ckpt_obj_lookup_add(ctx, t->signal,
CKPT_OBJ_SIGNAL, &first);
ckpt_debug("signal: objref %d\n", signal_objref);
- if (signal_objref < 0)
+ if (signal_objref < 0) {
+ ckpt_err(ctx, signal_objref, "%(T)process signals\n");
return signal_objref;
+ }
h = ckpt_hdr_get_type(ctx, sizeof(*h), CKPT_HDR_TASK_OBJS);
if (!h)
--
1.6.0.4
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list