*/
char *console_name;
- /* Address and port where a criu pageserver ist listening */
- char *pageserver_address;
- char *pageserver_port;
+ /* Address and port where a criu pageserver is listening */
+ char *pageserver_address;
+ char *pageserver_port;
};
static int load_tty_major_minor(char *directory, char *output, int len)
if (opts->predump_dir)
static_args += 2;
+ /* --page-server --address <address> --port <port> */
+ if (opts->pageserver_address && opts->pageserver_port)
+ static_args += 5;
+
/* --leave-running (only for final dump) */
if (strcmp(opts->action, "dump") == 0 && !opts->stop)
static_args++;
if (opts->predump_dir) {
DECLARE_ARG("--prev-images-dir");
DECLARE_ARG(opts->predump_dir);
- }
+ }
- if (opts->pageserver_address && opts->pageserver_port) {
- DECLARE_ARG("--page-server");
- DECLARE_ARG("--address");
- DECLARE_ARG(opts->pageserver_address);
- DECLARE_ARG("--port");
- DECLARE_ARG(opts->pageserver_port);
- }
+ if (opts->pageserver_address && opts->pageserver_port) {
+ DECLARE_ARG("--page-server");
+ DECLARE_ARG("--address");
+ DECLARE_ARG(opts->pageserver_address);
+ DECLARE_ARG("--port");
+ DECLARE_ARG(opts->pageserver_port);
+ }
/* only for final dump */
if (strcmp(opts->action, "dump") == 0 && !opts->stop)
/* do one of either predump or a regular dump */
static bool do_dump(struct lxc_container *c, char *mode, char *directory,
- bool stop, bool verbose, char *predump_dir, char *pageserver_address,
- char *pageserver_port)
+ bool stop, bool verbose, char *predump_dir,
+ char *pageserver_address, char *pageserver_port)
{
pid_t pid;
os.verbose = verbose;
os.predump_dir = predump_dir;
os.console_name = c->lxc_conf->console.path;
- os.pageserver_address = pageserver_address;
- os.pageserver_port = pageserver_port;
+ os.pageserver_address = pageserver_address;
+ os.pageserver_port = pageserver_port;
+
if (save_tty_major_minor(directory, c, os.tty_id, sizeof(os.tty_id)) < 0)
exit(1);
}
}
-bool __criu_pre_dump(struct lxc_container *c, char *directory, bool verbose, char *predump_dir,
- char *pageserver_address, char *pageserver_port)
+bool __criu_pre_dump(struct lxc_container *c, char *directory, bool verbose, char *predump_dir, char *pageserver_address, char *pageserver_port)
{
return do_dump(c, "pre-dump", directory, false, verbose, predump_dir, pageserver_address, pageserver_port);
}
-bool __criu_dump(struct lxc_container *c, char *directory, bool stop, bool verbose, char *predump_dir,
- char *pageserver_address, char *pageserver_port)
+bool __criu_dump(struct lxc_container *c, char *directory, bool stop, bool verbose, char *predump_dir, char *pageserver_address, char *pageserver_port)
{
char path[PATH_MAX];
int ret;
switch (cmd) {
case MIGRATE_PRE_DUMP:
- ret = !__criu_pre_dump(c, opts->directory, opts->verbose, opts->predump_dir,
- opts->pageserver_address, opts->pageserver_port);
+ ret = !__criu_pre_dump(c, opts->directory, opts->verbose, opts->predump_dir, opts->pageserver_address, opts->pageserver_port);
break;
case MIGRATE_DUMP:
- ret = !__criu_dump(c, opts->directory, opts->stop, opts->verbose, opts->predump_dir,
- opts->pageserver_address, opts->pageserver_port);
+ ret = !__criu_dump(c, opts->directory, opts->stop, opts->verbose, opts->predump_dir, opts->pageserver_address, opts->pageserver_port);
break;
case MIGRATE_RESTORE:
ret = !__criu_restore(c, opts->directory, opts->verbose);