file-systems: 'mount-file-system' preserves the right mount flags.
Fixes <https://bugs.gnu.org/47007>.
Reported by Jelle Licht <jlicht@fsfe.org>.
Since commit dcb640f02b
, we could end up
applying the wrong mount flags because the (find ...) expression could
pick the "wrong" mount point in the presence of bind mounts.
* gnu/build/file-systems.scm (mount-file-system): Use 'statfs' to
compute FLAGS whe FS is a bind mount.
This commit is contained in:
parent
9a6ea2f8dc
commit
b665dd4a99
@ -920,14 +920,8 @@ corresponds to the symbols listed in FLAGS."
|
||||
;; MS_REMOUNT call below fails with EPERM.
|
||||
;; See <https://bugs.gnu.org/46292>
|
||||
(if (memq 'bind-mount (file-system-flags fs))
|
||||
(or (and=> (find (let ((devno (stat:dev
|
||||
(lstat source))))
|
||||
(lambda (mount)
|
||||
(= (mount-device-number mount)
|
||||
devno)))
|
||||
(mounts))
|
||||
mount-flags)
|
||||
0)
|
||||
(statfs-flags->mount-flags
|
||||
(file-system-mount-flags (statfs source)))
|
||||
0)))
|
||||
(options (file-system-options fs)))
|
||||
(when (file-system-check? fs)
|
||||
|
Loading…
Reference in New Issue
Block a user