summary refs log tree commit diff
path: root/gnu/services
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-09-17 09:20:38 +0200
committerLudovic Courtès <ludo@gnu.org>2014-09-17 09:20:38 +0200
commit6a3f4c74fd07a8c28fda3cc7389765f30da7895a (patch)
tree96d2183d8191e96165bb08108a966b80e8831fb6 /gnu/services
parentd656c14ec9ed9ec68abeb68e98e9eaa602d9e11e (diff)
downloadguix-6a3f4c74fd07a8c28fda3cc7389765f30da7895a.tar.gz
services: file-system: Change directory to root before unmounting.
* gnu/services/base.scm (file-system-service)[stop]: Add 'chdir' call.
Diffstat (limited to 'gnu/services')
-rw-r--r--gnu/services/base.scm4
1 files changed, 4 insertions, 0 deletions
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 9bc78bd1ae..bfe5f52af4 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -137,6 +137,10 @@ names such as device-mapping services."
       (stop #~(lambda args
                 ;; Normally there are no processes left at this point, so
                 ;; TARGET can be safely unmounted.
+
+                ;; Make sure PID 1 doesn't keep TARGET busy.
+                (chdir "/")
+
                 (umount #$target)
                 #f))))))