[Devel] [PATCH criu 2/6] action-scripts: Add "pre-resume" stage

Cyrill Gorcunov gorcunov at gmail.com
Tue Feb 7 13:05:37 PST 2017


The main idea is to be able to operate with container
at the moment where its processess and resources are
already restored but the processes are not yet in
running state, ie just before we kick them.

Beside the need of tuning up beancounters (which is vz7
specific feature) this might be useful to make some
additional debug tests from the script.

We can't reuse ACT_POST_RESUME action or move it because
we can kill the restored processes in post-resume stage
and resume them on source side as avagin@ explained.

https://jira.sw.ru/browse/PSBM-58742

Signed-off-by: Cyrill Gorcunov <gorcunov at virtuozzo.com>
---
 criu/action-scripts.c         | 1 +
 criu/cr-restore.c             | 4 ++++
 criu/include/action-scripts.h | 1 +
 3 files changed, 6 insertions(+)

diff --git a/criu/action-scripts.c b/criu/action-scripts.c
index 380b05a..1dd6bb2 100644
--- a/criu/action-scripts.c
+++ b/criu/action-scripts.c
@@ -24,6 +24,7 @@ static const char *action_names[ACT_MAX] = {
 	[ ACT_NET_UNLOCK ]	= "network-unlock",
 	[ ACT_SETUP_NS ]	= "setup-namespaces",
 	[ ACT_POST_SETUP_NS ]	= "post-setup-namespaces",
+	[ ACT_PRE_RESUME ]	= "pre-resume",
 	[ ACT_POST_RESUME ]	= "post-resume",
 	[ ACT_POST_NET_LOCK ]	= "post-network-lock",
 };
diff --git a/criu/cr-restore.c b/criu/cr-restore.c
index 2e84ed3..c3db8bd 100644
--- a/criu/cr-restore.c
+++ b/criu/cr-restore.c
@@ -1948,6 +1948,10 @@ static int restore_root_task(struct pstree_item *init)
 	if (ret == 0)
 		finalize_restore();
 
+	ret = run_scripts(ACT_PRE_RESUME);
+	if (ret)
+		pr_err("Pre-resume script ret code %d\n", ret);
+
 	if (restore_freezer_state())
 		pr_err("Unable to restore freezer state\n");
 
diff --git a/criu/include/action-scripts.h b/criu/include/action-scripts.h
index e49f57c..13fd011 100644
--- a/criu/include/action-scripts.h
+++ b/criu/include/action-scripts.h
@@ -11,6 +11,7 @@ enum script_actions {
 	ACT_SETUP_NS,
 	ACT_POST_SETUP_NS,
 	ACT_POST_RESUME,
+	ACT_PRE_RESUME,
 	ACT_POST_NET_LOCK,
 
 	ACT_MAX
-- 
2.7.4



More information about the Devel mailing list