From 78981bb9bd66ba65af133fda6474664c330f30c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= <ludo@gnu.org> Date: Sat, 17 Oct 2015 11:57:38 +0200 Subject: [PATCH] file-systems: Do not truncate mount points that already exist. Reported by David Thompson <dthompson2@worcester.edu> at <https://lists.gnu.org/archive/html/guix-devel/2015-10/msg00284.html>. * gnu/build/file-systems.scm (mount-file-system): When SOURCE matches 'regular-file?', do not create MOUNT-POINT if it already exists. This fixes a bug whereby we would be truncating MOUNT-POINT if it already existed. --- gnu/build/file-systems.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm index 377bec278eb..00af35d3df3 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -348,7 +348,7 @@ (define* (mount-file-system spec #:key (root "/root")) ;; in the case of a bind mount, a regular file may be needed. (if (and (= MS_BIND (logand flags MS_BIND)) (regular-file? source)) - (begin + (unless (file-exists? mount-point) (mkdir-p (dirname mount-point)) (call-with-output-file mount-point (const #t))) (mkdir-p mount-point)) -- GitLab