[lxc-devel] [lxc/master] c/r: add support for CRIU's --action-script

tych0 on Github lxc-bot at linuxcontainers.org
Thu Jul 7 22:51:41 UTC 2016


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 361 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20160707/5922f5d2/attachment.bin>
-------------- next part --------------
From b9ee6643cba207223a035f822d3fabd3eb2c8370 Mon Sep 17 00:00:00 2001
From: Tycho Andersen <tycho.andersen at canonical.com>
Date: Wed, 6 Jul 2016 23:45:15 +0000
Subject: [PATCH] c/r: add support for CRIU's --action-script

Signed-off-by: Tycho Andersen <tycho.andersen at canonical.com>
---
 src/lxc/criu.c         | 8 ++++++++
 src/lxc/lxccontainer.h | 5 +++++
 2 files changed, 13 insertions(+)

diff --git a/src/lxc/criu.c b/src/lxc/criu.c
index a1b7d40..94b9ce4 100644
--- a/src/lxc/criu.c
+++ b/src/lxc/criu.c
@@ -185,6 +185,9 @@ static void exec_criu(struct criu_opts *opts)
 	if (opts->user->verbose)
 		static_args++;
 
+	if (opts->user->action_script)
+		static_args += 2;
+
 	ret = snprintf(log, PATH_MAX, "%s/%s.log", opts->user->directory, opts->action);
 	if (ret < 0 || ret >= PATH_MAX) {
 		ERROR("logfile name too long\n");
@@ -235,6 +238,11 @@ static void exec_criu(struct criu_opts *opts)
 	if (opts->user->verbose)
 		DECLARE_ARG("-vvvvvv");
 
+	if (opts->user->action_script) {
+		DECLARE_ARG("--action-script");
+		DECLARE_ARG(opts->user->action_script);
+	}
+
 	if (strcmp(opts->action, "dump") == 0 || strcmp(opts->action, "pre-dump") == 0) {
 		char pid[32], *freezer_relative;
 
diff --git a/src/lxc/lxccontainer.h b/src/lxc/lxccontainer.h
index ecc66e2..bde4912 100644
--- a/src/lxc/lxccontainer.h
+++ b/src/lxc/lxccontainer.h
@@ -891,6 +891,11 @@ struct migrate_opts {
 	 * won't if e.g. you rsync the filesystems between two machines.
 	 */
 	bool preserves_inodes;
+
+	/* Path to an executable script that will be registered as a criu
+	 * "action script"
+	 */
+	char *action_script;
 };
 
 /*!


More information about the lxc-devel mailing list