Commit a3f4eb75 by Tycho Andersen Committed by Stéphane Graber

c/r: add support for ghost-limit in CRIU

This is an old option that we probably should have exposed long ago :) Signed-off-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
parent 9b867606
...@@ -169,6 +169,10 @@ static void exec_criu(struct criu_opts *opts) ...@@ -169,6 +169,10 @@ static void exec_criu(struct criu_opts *opts)
/* --force-irmap */ /* --force-irmap */
if (!opts->user->preserves_inodes) if (!opts->user->preserves_inodes)
static_args++; static_args++;
/* --ghost-limit 1024 */
if (opts->user->ghost_limit)
static_args += 2;
} else if (strcmp(opts->action, "restore") == 0) { } else if (strcmp(opts->action, "restore") == 0) {
/* --root $(lxc_mount_point) --restore-detached /* --root $(lxc_mount_point) --restore-detached
* --restore-sibling --pidfile $foo --cgroup-root $foo * --restore-sibling --pidfile $foo --cgroup-root $foo
...@@ -300,6 +304,19 @@ static void exec_criu(struct criu_opts *opts) ...@@ -300,6 +304,19 @@ static void exec_criu(struct criu_opts *opts)
if (!opts->user->preserves_inodes) if (!opts->user->preserves_inodes)
DECLARE_ARG("--force-irmap"); DECLARE_ARG("--force-irmap");
if (opts->user->ghost_limit) {
char ghost_limit[32];
ret = sprintf(ghost_limit, "%lu", opts->user->ghost_limit);
if (ret < 0 || ret >= sizeof(ghost_limit)) {
ERROR("failed to print ghost limit %lu", opts->user->ghost_limit);
goto err;
}
DECLARE_ARG("--ghost-limit");
DECLARE_ARG(ghost_limit);
}
/* only for final dump */ /* only for final dump */
if (strcmp(opts->action, "dump") == 0 && !opts->user->stop) if (strcmp(opts->action, "dump") == 0 && !opts->user->stop)
DECLARE_ARG("--leave-running"); DECLARE_ARG("--leave-running");
......
...@@ -902,6 +902,12 @@ struct migrate_opts { ...@@ -902,6 +902,12 @@ struct migrate_opts {
* unconditionally disable this feature. In-flight connections are * unconditionally disable this feature. In-flight connections are
* not fully established TCP connections: SYN, SYN-ACK */ * not fully established TCP connections: SYN, SYN-ACK */
bool disable_skip_in_flight; bool disable_skip_in_flight;
/* This is the maximum file size for deleted files (which CRIU calls
* "ghost" files) that will be handled. 0 indicates the CRIU default,
* which at this time is 1MB.
*/
uint64_t ghost_limit;
}; };
/*! /*!
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment