summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2021-01-09 20:42:43 +0000
committerColin Walters <walters@verbum.org>2021-01-10 13:40:52 +0000
commit10556a95b4820d713ca440015be9cb2aca6711e2 (patch)
tree81933a03f78ae55e01539a9fd6d52dbe396b3759
parentfd9d422c51ce1b761f216f08a9da3776996bc7c7 (diff)
downloadostree-10556a95b4820d713ca440015be9cb2aca6711e2.tar.gz
main: Unconditionally set up mount namespace
I was being very conservative initially here, but I think it's really safe to just unconditionally set up the mount namespace. This avoids having to check twice for a read-only `/sysroot` (once in the binary and once in the library).
-rw-r--r--src/ostree/ot-main.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/src/ostree/ot-main.c b/src/ostree/ot-main.c
index bffa40c4..d153dcec 100644
--- a/src/ostree/ot-main.c
+++ b/src/ostree/ot-main.c
@@ -122,26 +122,10 @@ maybe_setup_mount_namespace (gboolean *out_ns,
if (errno == ENOENT)
return TRUE;
- glnx_autofd int sysroot_subdir_fd = glnx_opendirat_with_errno (AT_FDCWD, "/sysroot", TRUE);
- if (sysroot_subdir_fd < 0)
- {
- if (errno != ENOENT)
- return glnx_throw_errno_prefix (error, "opendirat");
- /* No /sysroot - nothing to do */
- return TRUE;
- }
-
- struct statvfs stvfs;
- if (fstatvfs (sysroot_subdir_fd, &stvfs) < 0)
- return glnx_throw_errno_prefix (error, "fstatvfs");
- if (stvfs.f_flag & ST_RDONLY)
- {
- if (unshare (CLONE_NEWNS) < 0)
- return glnx_throw_errno_prefix (error, "preparing writable sysroot: unshare (CLONE_NEWNS)");
-
- *out_ns = TRUE;
- }
+ if (unshare (CLONE_NEWNS) < 0)
+ return glnx_throw_errno_prefix (error, "setting up mount namespace: unshare(CLONE_NEWNS)");
+ *out_ns = TRUE;
return TRUE;
}