mirror of
https://github.com/systemd/systemd.git
synced 2024-10-29 21:55:36 +03:00
nspawn: Only bind-mount directory when necessary.
This commit is contained in:
parent
e091a5dfd1
commit
5530dc87f2
@ -3343,13 +3343,6 @@ static int outer_child(
|
|||||||
return r;
|
return r;
|
||||||
|
|
||||||
directory = "/run/systemd/nspawn-root";
|
directory = "/run/systemd/nspawn-root";
|
||||||
|
|
||||||
} else if (!dissected_image) {
|
|
||||||
/* Turn directory into bind mount (we need that so that we can move the bind mount to root
|
|
||||||
* later on). */
|
|
||||||
r = mount_verbose(LOG_ERR, directory, directory, NULL, MS_BIND|MS_REC, NULL);
|
|
||||||
if (r < 0)
|
|
||||||
return r;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
r = setup_pivot_root(
|
r = setup_pivot_root(
|
||||||
@ -3377,6 +3370,13 @@ static int outer_child(
|
|||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
/* Make sure we always have a mount that we can move to root later on. */
|
||||||
|
if (!path_is_mount_point(directory, NULL, 0)) {
|
||||||
|
r = mount_verbose(LOG_ERR, directory, directory, NULL, MS_BIND|MS_REC, NULL);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
if (dissected_image) {
|
if (dissected_image) {
|
||||||
/* Now we know the uid shift, let's now mount everything else that might be in the image. */
|
/* Now we know the uid shift, let's now mount everything else that might be in the image. */
|
||||||
r = dissected_image_mount(dissected_image, directory, arg_uid_shift,
|
r = dissected_image_mount(dissected_image, directory, arg_uid_shift,
|
||||||
|
Loading…
Reference in New Issue
Block a user