From: Sukadev Bhattiprolu <[email protected]>
Date: Tue, 30 Mar 2010 23:14:53 -0700
Subject: [PATCH 2/2] Add keep_frozen field to struct app_restart_args

Add a field, keep_frozen that callers of app_restart() can use to leave the
application frozen after restart. When this field is set, have app_restart()
set the RESTART_FROZEN flag to sys_restart().

TODO:
        For now, this field will be used in LXC containers.  A follow-on
        patch would add a command line option to /bin/restart to let users
        select this behavior.
---
 app-checkpoint.h |    3 +++
 restart.c        |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/app-checkpoint.h b/app-checkpoint.h
index f740085..d2455f3 100644
--- a/app-checkpoint.h
+++ b/app-checkpoint.h
@@ -1,3 +1,5 @@
+#include <linux/checkpoint.h>
+#include <linux/checkpoint_hdr.h>
 
 struct app_checkpoint_args {
        int outfd;
@@ -19,6 +21,7 @@ struct app_restart_args {
        int show_status;
        int copy_status;
        char *freezer;
+       int keep_frozen;
        int infd;
        int klogfd;
        int ulogfd;
diff --git a/restart.c b/restart.c
index 5408152..d5fee0b 100644
--- a/restart.c
+++ b/restart.c
@@ -914,7 +914,7 @@ static int ckpt_coordinator(struct ckpt_ctx *ctx)
        if (ckpt_probe_child(root_pid, "root task") < 0)
                exit(1);
 
-       if (ctx->args->freezer)
+       if (ctx->args->freezer || ctx->args->keep_frozen)
                flags |= RESTART_FROZEN;
        if (ctx->args->keep_lsm)
                flags |= RESTART_KEEP_LSM;
-- 
1.6.6.1

_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to