aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2022-11-19 23:16:52 +0100
committerRicardo Wurmus <rekado@elephly.net>2022-11-20 21:27:10 +0100
commitc585b4bc68813a351d6a87d19b9adf4041506355 (patch)
tree3cbe8324ae4b76609fcfa3a452ce0480c96dc966
parent4416e94e517a955fe6152094df8b89d2c0c13e65 (diff)
downloadguix-c585b4bc68813a351d6a87d19b9adf4041506355.tar.gz
guix-c585b4bc68813a351d6a87d19b9adf4041506355.zip
file-systems: Always do recursive bind mounts.
Fixes <https://issues.guix.gnu.org/59185>. * guix/build/syscalls.scm (MS_REC): New variable. * gnu/build/file-systems.scm (mount-flags->bit-mask): Set MS_REC bit when bind-mounting.
-rw-r--r--gnu/build/file-systems.scm2
-rw-r--r--guix/build/syscalls.scm2
2 files changed, 3 insertions, 1 deletions
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 15b8f73312..66ca22d6ea 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -1127,7 +1127,7 @@ corresponds to the symbols listed in FLAGS."
(('read-only rest ...)
(logior MS_RDONLY (loop rest)))
(('bind-mount rest ...)
- (logior MS_BIND (loop rest)))
+ (logior MS_REC (logior MS_BIND (loop rest))))
(('no-suid rest ...)
(logior MS_NOSUID (loop rest)))
(('no-dev rest ...)
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm
index 61926beb80..2a12567b15 100644
--- a/guix/build/syscalls.scm
+++ b/guix/build/syscalls.scm
@@ -51,6 +51,7 @@
MS_RELATIME
MS_BIND
MS_MOVE
+ MS_REC
MS_SHARED
MS_LAZYTIME
MNT_FORCE
@@ -541,6 +542,7 @@ the last argument of `mknod'."
(define MS_NODIRATIME 2048)
(define MS_BIND 4096)
(define MS_MOVE 8192)
+(define MS_REC 16384)
(define MS_SHARED 1048576)
(define MS_RELATIME 2097152)
(define MS_STRICTATIME 16777216)