[Devel] [PATCH criu 2/6] action-scripts: Add "pre-resume" stage
Andrey Vagin
avagin at virtuozzo.com
Wed Feb 8 12:37:18 PST 2017
On Wed, Feb 08, 2017 at 12:05:37AM +0300, Cyrill Gorcunov wrote:
> 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.
What do we have to do, if we failed to tuning up beancounters.
At this moment, we can't resume a container on a source host,
because its network was already unlocked...
>
> 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