mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-29 13:28:27 +00:00
mount: parse devpts options
The newinstance options isn't shown in mountinfo. Currently it is detected in devpts_dump. It is added only for root mounts and it isn't added for bind-mounts. So mounts_equal(a, b, true) returns false for such mounts and criu doesn't understand that they should be bind-mounted. Reported-by: Tycho Andersen <tycho.andersen@canonical.com> Cc: Serge Hallyn <serge.hallyn@ubuntu.com> Signed-off-by: Andrey Vagin <avagin@openvz.org> Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
44356b37f2
commit
6f45c38c18
4
mount.c
4
mount.c
@ -672,7 +672,7 @@ static int attach_option(struct mount_info *pm, char *opt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Is it mounted w or w/o the newinstance option */
|
/* Is it mounted w or w/o the newinstance option */
|
||||||
static int devpts_dump(struct mount_info *pm)
|
static int devpts_parse(struct mount_info *pm)
|
||||||
{
|
{
|
||||||
struct stat *host_st;
|
struct stat *host_st;
|
||||||
|
|
||||||
@ -839,7 +839,7 @@ static struct fstype fstypes[] = {
|
|||||||
.restore = tmpfs_restore,
|
.restore = tmpfs_restore,
|
||||||
}, {
|
}, {
|
||||||
.name = "devpts",
|
.name = "devpts",
|
||||||
.dump = devpts_dump,
|
.parse = devpts_parse,
|
||||||
.code = FSTYPE__DEVPTS,
|
.code = FSTYPE__DEVPTS,
|
||||||
}, {
|
}, {
|
||||||
.name = "simfs",
|
.name = "simfs",
|
||||||
|
@ -81,6 +81,10 @@ static int prepare_mntns()
|
|||||||
fprintf(stderr, "mount(/dev/pts) failed: %m\n");
|
fprintf(stderr, "mount(/dev/pts) failed: %m\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
if (mount("/dev/pts/ptmx", "/dev/ptmx", NULL, MS_BIND, NULL)) {
|
||||||
|
fprintf(stderr, "mount(/dev/pts) failed: %m\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
if (fchdir(dfd)) {
|
if (fchdir(dfd)) {
|
||||||
fprintf(stderr, "fchdir() failed: %m\n");
|
fprintf(stderr, "fchdir() failed: %m\n");
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user