Lines Matching defs:opts
129 static void exec_criu(struct criu_opts *opts)
161 if (strcmp(opts->action, "dump") == 0 || strcmp(opts->action, "pre-dump") == 0) {
166 if (opts->user->predump_dir)
170 if (opts->user->pageserver_address && opts->user->pageserver_port)
174 if (strcmp(opts->action, "dump") == 0 && !opts->user->stop)
178 if (opts->tty_id[0])
182 if (!opts->user->preserves_inodes)
186 if (opts->user->ghost_limit)
188 } else if (strcmp(opts->action, "restore") == 0) {
196 if (load_tty_major_minor(opts->user->directory, tty_info, sizeof(tty_info)))
209 if (opts->user->verbose)
212 if (opts->user->action_script)
215 static_args += 2 * lxc_list_len(&opts->c->lxc_conf->mount_list);
217 ret = snprintf(log, PATH_MAX, "%s/%s.log", opts->user->directory, opts->action);
246 DECLARE_ARG(opts->action);
260 DECLARE_ARG(opts->user->directory);
277 if (!strcmp(opts->action, "dump") || !strcmp(opts->action, "pre-dump")) {
278 path = lxc_cmd_get_cgroup_path(opts->c->name, opts->c->config_path, controllers[0]);
286 p = cgroup_get_cgroup(opts->handler, controllers[0]);
324 if (opts->user->verbose)
327 if (opts->user->action_script) {
329 DECLARE_ARG(opts->user->action_script);
332 mnts = make_anonymous_mount_file(&opts->c->lxc_conf->mount_list);
350 if (strcmp(opts->action, "dump") == 0) {
372 if (strcmp(opts->action, "dump") == 0 || strcmp(opts->action, "pre-dump") == 0) {
375 if (sprintf(pid, "%d", opts->c->init_pid(opts->c)) < 0)
381 freezer_relative = lxc_cmd_get_cgroup_path(opts->c->name,
382 opts->c->config_path,
393 if (!opts->user->disable_skip_in_flight &&
394 strcmp(opts->criu_version, CRIU_IN_FLIGHT_SUPPORT) >= 0)
400 if (opts->tty_id[0]) {
405 DECLARE_ARG(opts->tty_id);
408 if (opts->user->predump_dir) {
410 DECLARE_ARG(opts->user->predump_dir);
413 if (opts->user->pageserver_address && opts->user->pageserver_port) {
416 DECLARE_ARG(opts->user->pageserver_address);
418 DECLARE_ARG(opts->user->pageserver_port);
421 if (!opts->user->preserves_inodes)
424 if (opts->user->ghost_limit) {
427 ret = sprintf(ghost_limit, "%"PRIu64, opts->user->ghost_limit);
429 ERROR("failed to print ghost limit %"PRIu64, opts->user->ghost_limit);
438 if (strcmp(opts->action, "dump") == 0 && !opts->user->stop)
440 } else if (strcmp(opts->action, "restore") == 0) {
443 struct lxc_conf *lxc_conf = opts->c->lxc_conf;
446 DECLARE_ARG(opts->c->lxc_conf->rootfs.mount);
451 if (opts->console_fd < 0) {
456 ret = snprintf(buf, sizeof(buf), "fd[%d]:%s", opts->console_fd, tty_info);
463 if (opts->console_name) {
464 if (snprintf(buf, sizeof(buf), "console:%s", opts->console_name) < 0) {
485 additional = lxc_list_len(&opts->c->lxc_conf->network) * 2;
492 lxc_list_for_each(it, &opts->c->lxc_conf->network) {
498 if (strcmp(opts->criu_version, CRIU_EXTERNAL_NOT_VETH) >= 0) {
587 if (dup2(opts->pipefd, STDOUT_FILENO) < 0) {
592 if (dup2(opts->pipefd, STDERR_FILENO) < 0) {
597 close(opts->pipefd);
779 static void do_restore(struct lxc_container *c, int status_pipe, struct migrate_opts *opts, char *criu_version)
867 os.user = opts;
1061 static bool do_dump(struct lxc_container *c, char *mode, struct migrate_opts *opts)
1075 if (mkdir_p(opts->directory, 0700) < 0)
1098 os.user = opts;
1103 if (save_tty_major_minor(opts->directory, c, os.tty_id, sizeof(os.tty_id)) < 0)
1154 rmdir(opts->directory);
1158 bool __criu_pre_dump(struct lxc_container *c, struct migrate_opts *opts)
1160 return do_dump(c, "pre-dump", opts);
1163 bool __criu_dump(struct lxc_container *c, struct migrate_opts *opts)
1168 ret = snprintf(path, sizeof(path), "%s/inventory.img", opts->directory);
1177 return do_dump(c, "dump", opts);
1180 bool __criu_restore(struct lxc_container *c, struct migrate_opts *opts)
1210 do_restore(c, pipefd[1], opts, criu_version);