The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/1089

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
This is an old option that we probably should have exposed long ago :)

Signed-off-by: Tycho Andersen <tycho.ander...@canonical.com>
From b2b7b0d22395929f822a0c524e31bdc099e758d0 Mon Sep 17 00:00:00 2001
From: Tycho Andersen <tycho.ander...@canonical.com>
Date: Tue, 19 Jul 2016 14:27:26 -0600
Subject: [PATCH] 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: Tycho Andersen <tycho.ander...@canonical.com>
---
 src/lxc/criu.c         | 17 +++++++++++++++++
 src/lxc/lxccontainer.h |  6 ++++++
 2 files changed, 23 insertions(+)

diff --git a/src/lxc/criu.c b/src/lxc/criu.c
index 804fd41..d330d72 100644
--- a/src/lxc/criu.c
+++ b/src/lxc/criu.c
@@ -169,6 +169,10 @@ static void exec_criu(struct criu_opts *opts)
                /* --force-irmap */
                if (!opts->user->preserves_inodes)
                        static_args++;
+
+               /* --ghost-limit 1024 */
+               if (opts->user->ghost_limit)
+                       static_args += 2;
        } else if (strcmp(opts->action, "restore") == 0) {
                /* --root $(lxc_mount_point) --restore-detached
                 * --restore-sibling --pidfile $foo --cgroup-root $foo
@@ -300,6 +304,19 @@ static void exec_criu(struct criu_opts *opts)
                if (!opts->user->preserves_inodes)
                        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 */
                if (strcmp(opts->action, "dump") == 0 && !opts->user->stop)
                        DECLARE_ARG("--leave-running");
diff --git a/src/lxc/lxccontainer.h b/src/lxc/lxccontainer.h
index e4915d2..06bec58 100644
--- a/src/lxc/lxccontainer.h
+++ b/src/lxc/lxccontainer.h
@@ -902,6 +902,12 @@ struct migrate_opts {
         * unconditionally disable this feature. In-flight connections are
         * not fully established TCP connections: SYN, SYN-ACK */
        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;
 };
 
 /*!
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to