aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/util.cc')
-rw-r--r--src/libutil/util.cc52
1 files changed, 0 insertions, 52 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 8e813abc2..6d6e55ad1 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -88,56 +88,4 @@ void ignoreException(Verbosity lvl)
-#if __linux__
-static AutoCloseFD fdSavedMountNamespace;
-static AutoCloseFD fdSavedRoot;
-#endif
-
-void saveMountNamespace()
-{
-#if __linux__
- static std::once_flag done;
- std::call_once(done, []() {
- fdSavedMountNamespace = AutoCloseFD{open("/proc/self/ns/mnt", O_RDONLY)};
- if (!fdSavedMountNamespace)
- throw SysError("saving parent mount namespace");
-
- fdSavedRoot = AutoCloseFD{open("/proc/self/root", O_RDONLY)};
- });
-#endif
-}
-
-void restoreMountNamespace()
-{
-#if __linux__
- try {
- auto savedCwd = absPath(".");
-
- if (fdSavedMountNamespace && setns(fdSavedMountNamespace.get(), CLONE_NEWNS) == -1)
- throw SysError("restoring parent mount namespace");
-
- if (fdSavedRoot) {
- if (fchdir(fdSavedRoot.get()))
- throw SysError("chdir into saved root");
- if (chroot("."))
- throw SysError("chroot into saved root");
- }
-
- if (chdir(savedCwd.c_str()) == -1)
- throw SysError("restoring cwd");
- } catch (Error & e) {
- debug(e.msg());
- }
-#endif
-}
-
-void unshareFilesystem()
-{
-#ifdef __linux__
- if (unshare(CLONE_FS) != 0 && errno != EPERM)
- throw SysError("unsharing filesystem state in download thread");
-#endif
-}
-
-
}