diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-02-27 23:56:14 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-02-27 23:56:14 +0100 |
commit | 71c3c3df92375ca9b4bd28b2be90dda67288fa5c (patch) | |
tree | d70d12ab80f6185eb655b47a124731e26eca094a | |
parent | 6b0653e7ec8a9a842fb62e28fe83c9677f40d552 (diff) | |
download | guix-71c3c3df92375ca9b4bd28b2be90dda67288fa5c.tar.gz |
scripts: Adjust disk-space warning functionality.
This is a followup to fb7eec3a84afd7464027d2492a8b551a61df2725. * guix/scripts.scm (warn-about-disk-space): Do not multiply ABSOLUTE-THRESHOLD-IN-BYTES by 2^30. Compare AVAILABLE to the max of RELATIVE-THRESHOLD-IN-BYTES and ABSOLUTE-THRESHOLD-IN-BYTES, not the min. Display AVAILABLE divided by 2^30.
-rw-r--r-- | guix/scripts.scm | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/guix/scripts.scm b/guix/scripts.scm index 7ad1d5194c..e235c8d4c3 100644 --- a/guix/scripts.scm +++ b/guix/scripts.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Deck Pickard <deck.r.pickard@gmail.com> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; @@ -228,17 +228,19 @@ Show what and how will/would be built." (thresholds (%disk-space-warning))) "Display a hint about 'guix gc' if less than THRESHOLD of /gnu/store is available. -THRESHOLD is a pair of (ABSOLUTE-THRESHOLD RELATIVE-THRESHOLD)." +THRESHOLDS is a pair (ABSOLUTE-THRESHOLD . RELATIVE-THRESHOLD)." + (define GiB (expt 2 30)) + (let* ((stats (statfs (%store-prefix))) (block-size (file-system-block-size stats)) (available (* block-size (file-system-blocks-available stats))) (total (* block-size (file-system-block-count stats))) (relative-threshold-in-bytes (* total (cadr thresholds))) - (absolute-threshold-in-bytes (* 1024 1024 1024 (car thresholds)))) - (when (< available (min relative-threshold-in-bytes + (absolute-threshold-in-bytes (car thresholds))) + (when (< available (max relative-threshold-in-bytes absolute-threshold-in-bytes)) (warning (G_ "only ~,1f GiB of free space available on ~a~%") - available (%store-prefix)) + (/ available 1. GiB) (%store-prefix)) (display-hint (format #f (G_ "Consider deleting old profile generations and collecting garbage, along these lines: |