The 64bit
ext4 filesystem feature removes the 232 block limit. If this feature was not enabled when your filesystem was created, you can add it to the superblock using tune2fs(8)
:
tune2fs -O 64bit /dev/sda1
This is a filesystem feature, not a mount option, so it must be specified either while creating the filesystem, or added later. From ext4(5)
:
64bit
Enables the file system to be larger than 2^32 blocks.
This feature is set automatically, as needed, but it can
be useful to specify this feature explicitly if the file
system might need to be resized larger than 2^32 blocks,
even if it was smaller than that threshold when it was
originally created. Note that some older kernels and
older versions of e2fsprogs will not support file systems
with this ext4 feature enabled.
Any ext4 filesystem built with mke2fs
since 2015 will have this feature enabled by default.
truncate -s 2P some-file; mkfs.ext4 some-file
to create a 2PiB large FS which works just fine. See wikipedia for filesystem limits. – Stéphane Chazelas Jan 07 '23 at 20:16