Server Fault is a question and answer site for system and network administrators. 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

Tune2fs allows to change inode size from default (128 bytes on ext3, 256 bytes on ext4) to almost anything, but it should be power of two. What are the reasons for changing default inode size?

Here it's written that this can be done to be able to store ACL attributes inside inodes. What else can be stored inside an inodes?

Is there any reason to increase inode size on modern high-capacity drives (2TB and more)?

share|improve this question
I know a reason not to change the inode size from 128 bytes - Ext2IFS will no longer be able to mount your partition. If you are using this driver to access your Linux partitions from Windows, you should take care to keep your inode size at 128 bytes. – DevSolar Jun 1 '10 at 22:33
@DevSolar Nowadays [in 2015], Ext2IFS is obsolete and ext3 too :-) How to read ext4 partitions on Windows?. ext4 defaults to 256 to store some new file attributes. – Franklin Piat Mar 27 '15 at 22:34
up vote 6 down vote accepted

I think by default current versions of mkfs.ext2/3/4 default to 256 byte inode size (see /etc/mke2fs.conf). This IIRC enables nanosecond timestamps with ext4, and as you say, more extended attributes fit within the inode. Such extended attributes are, for instance, ACL's, SELinux labels, some Samba specific labels.

Bigger inodes of course waste a little bit of space, and as you make them bigger you get into diminishing returns territory pretty quickly. The default 256 bytes is probably a perfectly good compromise for most situations.

share|improve this answer
On my systems with CentOS 5.3 inode size is 128 by default. – Vladislav Rastrusny May 20 '10 at 11:12
@FractalizeR. Yes, mke2fs on RHEL/CentOS 5 dates back to 2006. I think the default changed a few years ago, sometime when ext4 was declared stable maybe. – janneb May 20 '10 at 11:20
On CentOS 5.5, /etc/mke4fs.conf does specify a default inode size of 256. – sciurus Mar 6 '11 at 19:06

With the ext4 option inline_data (new in Linux 3.8), there is a new good reason for larger inode sizes: Given this option, the file contents can be stored in the inode of the file (if the file is small enough). This avoids one seek operation. I have not seen any real-world benchmarks for this, yet.

share|improve this answer

Grub doesn't work with an inode size of 256, so 128 is what I use.

share|improve this answer

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.