aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2018-09-23 23:31:52 +0200
committerLudovic Courtès <ludo@gnu.org>2018-09-23 23:34:17 +0200
commitfce225471128c4a5246342b3aa1b7e53a8066211 (patch)
treeb0b0215faf72c88ec74a20cce602dee15aef55a5
parentb5460d95e970608bee7a794590be1b051b57d3a3 (diff)
downloadguix-fce225471128c4a5246342b3aa1b7e53a8066211.tar.gz
guix-fce225471128c4a5246342b3aa1b7e53a8066211.zip
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.
-rw-r--r--gnu/system/vm.scm13
1 files changed, 10 insertions, 3 deletions
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 435501d726..a1b595d45d 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?