Commit 788a74ce authored by Nikita Spiridonov's avatar Nikita Spiridonov Committed by Pavel Emelyanov

rpc: Add interface for @timeout option

Needed for container migration, where arguments are
set via p.haul as rpc request.
Signed-off-by: 's avatarNikita Spiridonov <nspiridonov@virtuozzo.com>
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent d7f9e824
...@@ -457,6 +457,9 @@ static int setup_opts_from_req(int sk, CriuOpts *req) ...@@ -457,6 +457,9 @@ static int setup_opts_from_req(int sk, CriuOpts *req)
if (req->freeze_cgroup) if (req->freeze_cgroup)
opts.freeze_cgroup = req->freeze_cgroup; opts.freeze_cgroup = req->freeze_cgroup;
if (req->has_timeout)
opts.timeout = req->timeout;
if (req->cgroup_props) if (req->cgroup_props)
opts.cgroup_props = req->cgroup_props; opts.cgroup_props = req->cgroup_props;
......
...@@ -103,6 +103,7 @@ message criu_opts { ...@@ -103,6 +103,7 @@ message criu_opts {
repeated string cgroup_dump_controller = 43; repeated string cgroup_dump_controller = 43;
optional string freeze_cgroup = 44; optional string freeze_cgroup = 44;
optional uint32 timeout = 45;
} }
message criu_dump_resp { message criu_dump_resp {
......
...@@ -395,6 +395,16 @@ void criu_set_freeze_cgroup(char *name) ...@@ -395,6 +395,16 @@ void criu_set_freeze_cgroup(char *name)
criu_local_set_freeze_cgroup(global_opts, name); criu_local_set_freeze_cgroup(global_opts, name);
} }
void criu_local_set_timeout(criu_opts *opts, unsigned int timeout)
{
opts->rpc->timeout = timeout;
}
void criu_set_timeout(unsigned int timeout)
{
criu_local_set_timeout(global_opts, timeout);
}
void criu_local_set_auto_ext_mnt(criu_opts *opts, bool val) void criu_local_set_auto_ext_mnt(criu_opts *opts, bool val)
{ {
opts->rpc->has_auto_ext_mnt = true; opts->rpc->has_auto_ext_mnt = true;
......
...@@ -79,6 +79,7 @@ void criu_set_root(char *root); ...@@ -79,6 +79,7 @@ void criu_set_root(char *root);
void criu_set_manage_cgroups(bool manage); void criu_set_manage_cgroups(bool manage);
void criu_set_manage_cgroups_mode(enum criu_cg_mode mode); void criu_set_manage_cgroups_mode(enum criu_cg_mode mode);
void criu_set_freeze_cgroup(char *name); void criu_set_freeze_cgroup(char *name);
void criu_set_timeout(unsigned int timeout);
void criu_set_auto_ext_mnt(bool val); void criu_set_auto_ext_mnt(bool val);
void criu_set_ext_sharing(bool val); void criu_set_ext_sharing(bool val);
void criu_set_ext_masters(bool val); void criu_set_ext_masters(bool val);
...@@ -182,6 +183,7 @@ void criu_local_set_root(criu_opts *opts, char *root); ...@@ -182,6 +183,7 @@ void criu_local_set_root(criu_opts *opts, char *root);
void criu_local_set_manage_cgroups(criu_opts *opts, bool manage); void criu_local_set_manage_cgroups(criu_opts *opts, bool manage);
void criu_local_set_manage_cgroups_mode(criu_opts *opts, enum criu_cg_mode mode); void criu_local_set_manage_cgroups_mode(criu_opts *opts, enum criu_cg_mode mode);
void criu_local_set_freeze_cgroup(criu_opts *opts, char *name); void criu_local_set_freeze_cgroup(criu_opts *opts, char *name);
void criu_local_set_timeout(criu_opts *opts, unsigned int timeout);
void criu_local_set_auto_ext_mnt(criu_opts *opts, bool val); void criu_local_set_auto_ext_mnt(criu_opts *opts, bool val);
void criu_local_set_ext_sharing(criu_opts *opts, bool val); void criu_local_set_ext_sharing(criu_opts *opts, bool val);
void criu_local_set_ext_masters(criu_opts *opts, bool val); void criu_local_set_ext_masters(criu_opts *opts, bool val);
......
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