From 87cbb381f2e2fb9aab316187a70acca9f6d5061b Mon Sep 17 00:00:00 2001 From: Srivathsa Dara Date: Wed, 3 Apr 2024 04:30:37 +0000 Subject: [PATCH] e2fsprogs: misc/mke2fs.8.in: Correct valid cluster-size values According to the mke2fs man page, the supported cluster-size values for an ext4 filesystem are 2048 to 256M bytes. However, this is not the case. When mkfs is run to create a filesystem with following specifications: * 1k blocksize and cluster-size greater than 32M * 2k blocksize and cluster-size greater than 64M * 4k blocksize and cluster-size greater than 128M mkfs fails with "Invalid argument passed to ext2 library while trying to create journal" error. In general, when the cluster-size to blocksize ratio is greater than 32k, mkfs fails with this error. Went through the code and found out that the function `ext2fs_new_range()` is the source of this error. This is because when the cluster-size to blocksize ratio exceeds 32k, the length argument to the function `ext2fs_new_range()` results in 0. Hence, the error. This patch corrects the valid cluster-size values. Reviewed-by: Darrick J. Wong Link: https://lore.kernel.org/r/20240403043037.3992724-1-srivathsa.d.dara@oracle.com Signed-off-by: Theodore Ts'o --- misc/mke2fs.8.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/misc/mke2fs.8.in b/misc/mke2fs.8.in index 30f97bb..1226231 100644 --- a/misc/mke2fs.8.in +++ b/misc/mke2fs.8.in @@ -232,9 +232,9 @@ test is used instead of a fast read-only test. .TP .B \-C " cluster-size" Specify the size of cluster in bytes for file systems using the bigalloc -feature. Valid cluster-size values are from 2048 to 256M bytes per -cluster. This can only be specified if the bigalloc feature is -enabled. (See the +feature. Valid cluster-size values range from 2 to 32768 times the +filesystem blocksize and must be a power of 2. The cluster-size can +only be specified if the bigalloc feature is enabled. (See the .B ext4 (5) man page for more details about bigalloc.) The default cluster size if bigalloc is enabled is 16 times the block size. -- 1.8.3.1