Signed-off-by: Andrey Vagin <ava...@openvz.org> --- include/cpt.h | 2 +- include/env.h | 2 +- include/snapshot.h | 4 ++-- src/lib/cpt.c | 6 +++--- src/lib/hooks_vz.c | 2 +- src/snapshot.c | 13 ++++++++----- src/vzctl-actions.c | 6 +++--- 7 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/include/cpt.h b/include/cpt.h index 013dbbd..191162b 100644 --- a/include/cpt.h +++ b/include/cpt.h @@ -17,7 +17,7 @@ int cpt_cmd(vps_handler *h, envid_t veid, const char *root, int action, int cmd, unsigned int ctx); -int vps_chkpnt(vps_handler *h, envid_t veid, const fs_param *fs, +int vps_chkpnt(vps_handler *h, envid_t veid, const vps_res *res, int cmd, cpt_param *param); int vps_restore(vps_handler *h, envid_t veid, struct vps_param *vps_p, int cmd, cpt_param *param, skipFlags skip); diff --git a/include/env.h b/include/env.h index 1628bbf..6f7aaf5 100644 --- a/include/env.h +++ b/include/env.h @@ -34,7 +34,7 @@ -typedef int (*env_create_FN)(vps_handler *h, envid_t veid, int wait_p, +typedef int (*env_create_FN)(vps_handler *h, envid_t veid, vps_res *res, int wait_p, int old_wait_p, int err_p, void *data); /** Stop modes. diff --git a/include/snapshot.h b/include/snapshot.h index f3feab4..9ac4e02 100644 --- a/include/snapshot.h +++ b/include/snapshot.h @@ -46,11 +46,11 @@ int vzctl_store_snapshot_tree(const char *fname, struct vzctl_snapshot_tree *tre /* src/snapshot.c */ int is_snapshot_supported(const char *ve_private); -int vzctl_env_create_snapshot(vps_handler *h, envid_t veid, const fs_param *fs, +int vzctl_env_create_snapshot(vps_handler *h, envid_t veid, const vps_res *res, const struct vzctl_snapshot_param *param); int vzctl_env_switch_snapshot(vps_handler *h, envid_t veid, vps_param *g_p, - const fs_param *fs, const char *guid); + const char *guid); int vzctl_env_delete_snapshot(vps_handler *h, envid_t veid, const fs_param *fs, const char *guid); diff --git a/src/lib/cpt.c b/src/lib/cpt.c index 362c646..5501d92 100644 --- a/src/lib/cpt.c +++ b/src/lib/cpt.c @@ -197,14 +197,14 @@ do { \ } \ } while (0) -int vps_chkpnt(vps_handler *h, envid_t veid, const fs_param *fs, +int vps_chkpnt(vps_handler *h, envid_t veid, const vps_res *res, int cmd, cpt_param *param) { int dump_fd = -1; char buf[PATH_LEN]; const char *dumpfile = NULL; int cpt_fd, pid, ret; - const char *root = fs->root; + const char *root = res->fs.root; ret = VZ_CHKPNT_ERROR; if (root == NULL) { @@ -303,7 +303,7 @@ err: return ret; } -static int restore_fn(vps_handler *h, envid_t veid, int wait_p, +static int restore_fn(vps_handler *h, envid_t veid, vps_res *res, int wait_p, int old_wait_p, int err_p, void *data) { int status, len, len1, ret; diff --git a/src/lib/hooks_vz.c b/src/lib/hooks_vz.c index 9f3c401..f358f59 100644 --- a/src/lib/hooks_vz.c +++ b/src/lib/hooks_vz.c @@ -255,7 +255,7 @@ static int vz_do_env_create(struct arg_start *arg) if (fn == NULL) { ret = _env_create(h, (void *)arg); } else { - ret = fn(h, veid, wait_p, old_wait_p, err_p, data); + ret = fn(h, veid, res, wait_p, old_wait_p, err_p, data); } env_err: if (ret) diff --git a/src/snapshot.c b/src/snapshot.c index 675b2c8..3ea0ea9 100644 --- a/src/snapshot.c +++ b/src/snapshot.c @@ -59,7 +59,7 @@ int is_snapshot_supported(const char *ve_private) } int vzctl_env_create_snapshot(vps_handler *h, envid_t veid, - const fs_param *fs, + const vps_res *res, const struct vzctl_snapshot_param *param) { int ret, run = 0; @@ -72,6 +72,7 @@ int vzctl_env_create_snapshot(vps_handler *h, envid_t veid, struct ploop_merge_param merge_param = {}; struct ploop_disk_images_data *di = NULL; struct vzctl_snapshot_tree *tree = NULL; + const fs_param *fs = &res->fs; if (!is_snapshot_supported(fs->private)) return VZCTL_E_CREATE_SNAPSHOT; @@ -121,7 +122,7 @@ int vzctl_env_create_snapshot(vps_handler *h, envid_t veid, run = vps_is_run(h, veid); /* 1 freeze */ if (run) { - ret = vps_chkpnt(h, veid, fs, CMD_SUSPEND, &cpt); + ret = vps_chkpnt(h, veid, res, CMD_SUSPEND, &cpt); if (ret) goto err1; } @@ -137,7 +138,7 @@ int vzctl_env_create_snapshot(vps_handler *h, envid_t veid, if (run) { vzctl_get_snapshot_dumpfile(fs->private, guid, fname, sizeof(fname)); cpt.dumpfile = fname; - ret = vps_chkpnt(h, veid, fs, CMD_DUMP, &cpt); + ret = vps_chkpnt(h, veid, res, CMD_DUMP, &cpt); if (ret) goto err2; if (cpt_cmd(h, veid, fs->root, CMD_CHKPNT, CMD_RESUME, 0)) @@ -179,7 +180,7 @@ out: } int vzctl_env_switch_snapshot(vps_handler *h, envid_t veid, - vps_param *g_p, const fs_param *fs, const char *guid) + vps_param *g_p, const char *guid) { int ret, run; int flags = 0; @@ -192,6 +193,8 @@ int vzctl_env_switch_snapshot(vps_handler *h, envid_t veid, char dumpfile[PATH_MAX]; struct vzctl_snapshot_tree *tree = NULL; struct ploop_disk_images_data *di = NULL; + const vps_res *res = &g_p->res; + const fs_param *fs = &res->fs; if (!is_snapshot_supported(fs->private)) return VZCTL_E_SWITCH_SNAPSHOT; @@ -237,7 +240,7 @@ int vzctl_env_switch_snapshot(vps_handler *h, envid_t veid, flags = PLOOP_SNAP_SKIP_TOPDELTA_DESTROY; if (ploop.get_top_delta_fname(di, topdelta_fname, sizeof(topdelta_fname))) goto err1; - ret = vps_chkpnt(h, veid, fs, CMD_SUSPEND, &cpt); + ret = vps_chkpnt(h, veid, res, CMD_SUSPEND, &cpt); if (ret) goto err1; } else if (vps_is_mounted(fs->root, fs->private)) { diff --git a/src/vzctl-actions.c b/src/vzctl-actions.c index e0cd261..284c009 100644 --- a/src/vzctl-actions.c +++ b/src/vzctl-actions.c @@ -1297,7 +1297,7 @@ static int chkpnt(vps_handler *h, envid_t veid, vps_param *g_p, vps_param *cmd_p return 0; } - ret = vps_chkpnt(h, veid, &g_p->res.fs, cmd, &cmd_p->res.cpt); + ret = vps_chkpnt(h, veid, &g_p->res, cmd, &cmd_p->res.cpt); if (ret) return ret; if (cmd == CMD_CHKPNT || cmd == CMD_DUMP) { @@ -1605,14 +1605,14 @@ int run_action(envid_t veid, act_t action, vps_param *g_p, vps_param *vps_p, #ifdef HAVE_PLOOP case ACTION_SNAPSHOT_CREATE: ret = vzctl_env_create_snapshot(h, veid, - &g_p->res.fs, &cmd_p->snap); + &g_p->res, &cmd_p->snap); break; case ACTION_SNAPSHOT_DELETE: ret = vzctl_env_delete_snapshot(h, veid, &g_p->res.fs, cmd_p->snap.guid); break; case ACTION_SNAPSHOT_SWITCH: - ret = vzctl_env_switch_snapshot(h, veid, g_p, &g_p->res.fs, + ret = vzctl_env_switch_snapshot(h, veid, g_p, cmd_p->snap.guid); break; case ACTION_SNAPSHOT_LIST: -- 1.8.2 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel