diff mbox series

[bug#72035] installer: Create ext4 file systems with ‘-O large_dir’.

Message ID 7976069f078b5ba5c7d75e4a427f35f06c70c058.1720617776.git.ludo@gnu.org
State New
Headers show
Series [bug#72035] installer: Create ext4 file systems with ‘-O large_dir’. | expand

Commit Message

Ludovic Courtès July 10, 2024, 1:23 p.m. UTC
* gnu/installer/parted.scm (create-ext4-file-system): Pass
‘-O large_dir’ to ‘mkfs.ext4’.

Change-Id: Ie34039ed03f273505e7f7fb5c3241120e3395ba2
---
 gnu/installer/parted.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)


base-commit: 922e943059050f05532ac8274e55e25ebe711cf5
diff mbox series

Patch

diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 51fa7cf9d9c..dbdec1bba82 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 @@  (define (create-btrfs-file-system partition)
 
 (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."