mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-06-06 01:59:18 +00:00
fix mounts not propagating back to root mntns during create and clone
Systems based on systemd mount the root shared by default. We don't want mounts done during creation by templates nor those done internally by bdev during rsync based clones to propagate to the root mntns. The create case already had the right check, but the mount call was missing "/", so it was failing. Signed-off-by: Dwight Engen <dwight.engen@oracle.com> Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
parent
f88bfaa3f8
commit
c597baa8f9
@ -2387,6 +2387,12 @@ static int rsync_rootfs(struct rsync_data *data)
|
||||
SYSERROR("unshare CLONE_NEWNS");
|
||||
return -1;
|
||||
}
|
||||
if (detect_shared_rootfs()) {
|
||||
if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL)) {
|
||||
SYSERROR("Failed to make / rslave to run rsync");
|
||||
ERROR("Continuing...");
|
||||
}
|
||||
}
|
||||
|
||||
// If not a snapshot, copy the fs.
|
||||
if (orig->ops->mount(orig) < 0) {
|
||||
|
@ -913,7 +913,7 @@ static bool create_run_template(struct lxc_container *c, char *tpath, bool quiet
|
||||
exit(1);
|
||||
}
|
||||
if (detect_shared_rootfs()) {
|
||||
if (mount("", "", NULL, MS_SLAVE|MS_REC, 0)) {
|
||||
if (mount(NULL, "/", NULL, MS_SLAVE|MS_REC, NULL)) {
|
||||
SYSERROR("Failed to make / rslave to run template");
|
||||
ERROR("Continuing...");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user