Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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 ?

share|improve this question
up vote 2 down vote accepted

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

share|improve this answer
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 posting your answer, you agree to the privacy policy and terms of service.

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