mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-22 09:58:09 +00:00
Use --root instead of --aufs-root
When dumping Docker containers using the AUFS graph driver, we can use the --root option instead of --aufs-root for specifying the container's root. This patch obviates the need for --aufs-root and makes dump CLI more consistent with restore CLI. Signed-off-by: Saied Kazemi <saied@google.com> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
457a70dabb
commit
9eec8b03af
@ -172,7 +172,6 @@ int main(int argc, char *argv[])
|
||||
{ "exec-cmd", no_argument, 0, 1059},
|
||||
{ "manage-cgroups", no_argument, 0, 1060},
|
||||
{ "cgroup-root", required_argument, 0, 1061},
|
||||
{ "aufs-root", required_argument, 0, 1062},
|
||||
{ },
|
||||
};
|
||||
|
||||
@ -401,9 +400,6 @@ int main(int argc, char *argv[])
|
||||
case 'h':
|
||||
usage_error = false;
|
||||
goto usage;
|
||||
case 1062:
|
||||
opts.aufs_root = optarg;
|
||||
break;
|
||||
default:
|
||||
goto usage;
|
||||
}
|
||||
@ -556,9 +552,6 @@ usage:
|
||||
" --exec-cmd execute the command specified after '--' on successful\n"
|
||||
" restore making it the parent of the restored process\n"
|
||||
"\n"
|
||||
"* AUFS support (applicable to dump only):\n"
|
||||
" --aufs-root root pathname of the AUFS filesystem\n"
|
||||
"\n"
|
||||
"* Special resources support:\n"
|
||||
" -x|--" USK_EXT_PARAM " allow external unix connections\n"
|
||||
" --" SK_EST_PARAM " checkpoint/restore established TCP connections\n"
|
||||
|
@ -61,7 +61,6 @@ struct cr_options {
|
||||
char *new_global_cg_root;
|
||||
struct list_head new_cgroup_roots;
|
||||
bool aufs; /* auto-deteced, not via cli */
|
||||
char *aufs_root;
|
||||
};
|
||||
|
||||
extern struct cr_options opts;
|
||||
|
21
proc_parse.c
21
proc_parse.c
@ -1742,25 +1742,12 @@ out:
|
||||
*/
|
||||
int aufs_parse(struct mount_info *new)
|
||||
{
|
||||
char *cp;
|
||||
int ret = 0;
|
||||
|
||||
if (!strcmp(new->mountpoint, "./")) {
|
||||
opts.aufs = true;
|
||||
|
||||
if (!opts.aufs_root || strcmp(new->mountpoint, "./"))
|
||||
return 0;
|
||||
|
||||
cp = malloc(strlen(opts.aufs_root) + 1);
|
||||
if (!cp) {
|
||||
pr_err("Cannot allocate memory for %s\n", opts.aufs_root);
|
||||
return -1;
|
||||
ret = parse_aufs_branches(new);
|
||||
}
|
||||
strcpy(cp, opts.aufs_root);
|
||||
|
||||
pr_debug("Replacing %s with %s\n", new->root, opts.aufs_root);
|
||||
free(new->root);
|
||||
new->root = cp;
|
||||
|
||||
parse_aufs_branches(new);
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
@ -27,7 +27,7 @@
|
||||
* 90 61 0:33 / / rw,relatime - aufs none rw,si=4476a910a24617e6
|
||||
*
|
||||
* To handle this issue, the user has to specify the root of the AUFS
|
||||
* filesystem with the --aufs-root command line option.
|
||||
* filesystem with the --root command line option.
|
||||
*
|
||||
* 2) /proc/<pid>/map_files: The symlinks are absolute pathnames of the
|
||||
* corresponding *physical* files in the branch they exist. For example,
|
||||
@ -287,12 +287,12 @@ int fixup_aufs_vma_fd(struct vma_area *vma)
|
||||
if (!vma->aufs_rpath)
|
||||
return -1;
|
||||
strcpy(vma->aufs_rpath, path);
|
||||
if (opts.aufs_root) {
|
||||
vma->aufs_fpath = xmalloc(strlen(opts.aufs_root) + 1 + len + 1);
|
||||
if (opts.root) {
|
||||
vma->aufs_fpath = xmalloc(strlen(opts.root) + 1 + len + 1);
|
||||
if (!vma->aufs_fpath)
|
||||
return -1;
|
||||
/* skip ./ in path */
|
||||
sprintf(vma->aufs_fpath, "%s/%s", opts.aufs_root, &path[2]);
|
||||
sprintf(vma->aufs_fpath, "%s/%s", opts.root, &path[2]);
|
||||
}
|
||||
pr_debug("Saved AUFS paths %s and %s\n", vma->aufs_rpath, vma->aufs_fpath);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user