diff options
author | Colin Walters <walters@verbum.org> | 2021-01-09 20:42:43 +0000 |
---|---|---|
committer | Colin Walters <walters@verbum.org> | 2021-01-10 13:40:52 +0000 |
commit | 10556a95b4820d713ca440015be9cb2aca6711e2 (patch) | |
tree | 81933a03f78ae55e01539a9fd6d52dbe396b3759 | |
parent | fd9d422c51ce1b761f216f08a9da3776996bc7c7 (diff) | |
download | ostree-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.c | 22 |
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; } |