I was reading the Kernel Documentation where it says

There are various limits imposed by the on-disk layout of ext2. Other limits are imposed by the current implementation of the kernel code. Many of the limits are determined at the time the filesystem is first created, and depend upon the block size chosen. The ratio of inodes to data blocks is fixed at filesystem creation time, so the only way to increase the number of inodes is to increase the size of the filesystem.

For 4Kb block size, the file size is 2048GB.

I have also read that during data block allocation it uses direct, double or triple indirection to data blocks. Whether it is the main factor ?


The 2TiB file size is limited by the i_blocks value in the inode which indicates the number of 512-bytes sector rather than the actual number of ext2 blocks allocated.

Referenced from: http://www.nongnu.org/ext2-doc/ext2.html

|improve this answer|||||
  • 2
    This limit was also overcome ages ago by the use of a flag in the inode that indicates that the i_blocks value is, in fact, in units of block size rather than 512 bytes. The triple indirect block structure though, can only address just over 4 TiB using a 4k block size. – psusi Apr 21 '14 at 14:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.