From a32ff2573ba4d0df4e3360c5a96398738da953f6 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 15 Nov 2018 12:59:54 +0100 Subject: Fix 'Read-only file system' when building a derivation --- src/libutil/util.cc | 3 ++- src/libutil/util.hh | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'src/libutil') diff --git a/src/libutil/util.cc b/src/libutil/util.cc index 6e4536e6e4ea..e12c4b258c25 100644 --- a/src/libutil/util.cc +++ b/src/libutil/util.cc @@ -936,7 +936,8 @@ pid_t startProcess(std::function fun, const ProcessOptions & options) throw SysError("setting death signal"); #endif restoreAffinity(); - restoreMountNamespace(); + if (options.restoreMountNamespace) + restoreMountNamespace(); fun(); } catch (std::exception & e) { try { diff --git a/src/libutil/util.hh b/src/libutil/util.hh index 2689cbd8b412..d67bddc138c8 100644 --- a/src/libutil/util.hh +++ b/src/libutil/util.hh @@ -250,6 +250,7 @@ struct ProcessOptions bool dieWithParent = true; bool runExitHandlers = false; bool allowVfork = true; + bool restoreMountNamespace = true; }; pid_t startProcess(std::function fun, const ProcessOptions & options = ProcessOptions()); -- cgit 1.4.1