civodul pushed a commit to branch master
in repository guix.
commit fce225471128c4a5246342b3aa1b7e53a8066211
Author: Ludovic Courtès <[email protected]>
Date: Sun Sep 23 23:31:52 2018 +0200
vm: Use "cache=loose" for all 9p mounts.
This significantly improves read throughput when running things like
"guix hash -r ...".
* gnu/system/vm.scm (%linux-vm-file-systems): Add 'flags' for "store".
Add "cache=loose" to every file system.
---
gnu/system/vm.scm | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 435501d..a1b595d 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -99,21 +99,28 @@
(device "store")
(type "9p")
(needed-for-boot? #t)
- (options "trans=virtio")
+ (flags '(read-only))
+ (options "trans=virtio,cache=loose")
(check? #f))
+
+ ;; The 9p documentation says that cache=loose is "intended for
+ ;; exclusive, read-only mounts", without additional details. In
+ ;; practice it seems to work well for these, and it's much faster than
+ ;; the default cache=none, especially when copying and registering
+ ;; store items.
(file-system
(mount-point "/xchg")
(device "xchg")
(type "9p")
(needed-for-boot? #t)
- (options "trans=virtio")
+ (options "trans=virtio,cache=loose")
(check? #f))
(file-system
(mount-point "/tmp")
(device "tmp")
(type "9p")
(needed-for-boot? #t)
- (options "trans=virtio")
+ (options "trans=virtio,cache=loose")
(check? #f))))
(define not-config?