From 1d77413c5698e7e013740f6391395bdff07969a0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Oct 2025 11:42:46 +0900 Subject: [PATCH] services/base: Only remount read-write if needed in run-with-writable-store. * gnu/services/base.scm (run-with-writable-store): Make it a no-op when the store is already writable (useful for testing). Change-Id: If598638e9d3eeac242c265cba77f27e4a15f8d9b --- gnu/services/base.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index f64f85224bd..1ad0e0c9c15 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1939,10 +1939,9 @@ read-only via %IMMUTABLE-STORE (this wrapper must run as root)." (define (ensure-writable-store store) ;; Create a new mount namespace and remount STORE with ;; write permissions if it's read-only. - (unshare CLONE_NEWNS) (let ((fs (statfs store))) - (unless (zero? (logand (file-system-mount-flags fs) - ST_RDONLY)) + (when (logand (file-system-mount-flags fs) ST_RDONLY) + (unshare CLONE_NEWNS) (mount store store "none" (logior MS_BIND MS_REMOUNT)))))