aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-07-10 15:20:11 +0200
committerLudovic Courtès <ludo@gnu.org>2024-08-31 19:06:38 +0200
commit98545ea11558cf6c230dfaebdd0af2acd50e0f43 (patch)
tree1f5fdd50b5ce81692f0195733a516c078bef71fd
parentfa70c141552c76cf4dc9666f577bf6b471fa0d50 (diff)
downloadguix-98545ea11558cf6c230dfaebdd0af2acd50e0f43.tar.gz
guix-98545ea11558cf6c230dfaebdd0af2acd50e0f43.zip
installer: Create ext4 file systems with ‘-O large_dir’.
* gnu/installer/parted.scm (create-ext4-file-system): Pass ‘-O large_dir’ to ‘mkfs.ext4’. Change-Id: Ie34039ed03f273505e7f7fb5c3241120e3395ba2
-rw-r--r--gnu/installer/parted.scm10
1 files changed, 8 insertions, 2 deletions
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 51fa7cf9d9..dbdec1bba8 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019-2020, 2022, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
;;;
@@ -1187,7 +1187,13 @@ list and return the updated list."
(define (create-ext4-file-system partition)
"Create an ext4 file-system for PARTITION file-name."
- ((run-command-in-installer) "mkfs.ext4" "-F" partition))
+ ;; Enable the 'large_dir' feature so users can have a store of several TiBs.
+ ;; Failing to do that, the directory index (enabled by 'dir_index') can fill
+ ;; up and adding new files would fail with ENOSPC despite there being plenty
+ ;; of free space and inodes:
+ ;; <https://blog.merovius.de/posts/2013-10-20-ext4-mysterious-no-space-left-on/>.
+ ((run-command-in-installer) "mkfs.ext4" "-F" partition
+ "-O" "large_dir"))
(define (create-fat16-file-system partition)
"Create a fat16 file-system for PARTITION file-name."