namespace: don't make the root directory of a namespace a mount if it already is one

Let's not stack mounts needlessly.
This commit is contained in:
Lennart Poettering 2016-08-26 11:27:38 +02:00 committed by Djalal Harouni
parent d944dc9553
commit 8f1ad200f0
1 changed files with 8 additions and 3 deletions

View File

@ -650,10 +650,15 @@ int setup_namespace(
}
if (root_directory) {
/* Turn directory into bind mount */
if (mount(root_directory, root_directory, NULL, MS_BIND|MS_REC, NULL) < 0) {
r = -errno;
/* Turn directory into bind mount, if it isn't one yet */
r = path_is_mount_point(root_directory, AT_SYMLINK_FOLLOW);
if (r < 0)
goto finish;
if (r == 0) {
if (mount(root_directory, root_directory, NULL, MS_BIND|MS_REC, NULL) < 0) {
r = -errno;
goto finish;
}
}
}