Theodore: Thanks for your replying. Can I understand this way: * Though sizeof(struct ext4_inode) is 152, the real inode size on disk still depends on mount options. * If use old inode size, the on disk inode will be 128 bytes. * If use new inode size(e.g. extent option in mount), the on disk inode will be 256, or more bytes. * If on disk inode size is 128 bytes, only first 128 bytes of struct ext4_inode take effects. Best regards. Coly 在 2007-04-08日的 13:52 -0400,Theodore Tso写道: > On Sun, Apr 08, 2007 at 02:39:03PM +0800, coly wrote: > > Hi, list: > > > > I find size of struct ext4_inode is 152 bytes, but from the dumpe2fs, it > > tells me the inode size is 128 bytes. > > > > I am confused that, the ext4_inode is the on-disk inode format, so how > > can dumpe2fs tells the inode size is 128 bytes. > > > > Further more, when I use sb_bread() to read inode from inode table (with > > 152 bytes inode size), I can not read proper data from the bh->b_data. > > Once I use 128 bytes inode size, I can read what I want from the > > bh->b_data. > > The inode size for ext4 filesystems can be multiple sizes; the > traditional ext2/ext3 inode size is 128 bytes. If so, then you won't > have any of the features that require inode fields starting at > i_extra_isize. If you use an inode size of 256 bytes, then you will > be able to use nanosecond granularity timestamps, and the extra space > (256-152 bytes) can be used for fast access to extended attributes. > If there is an expectation that the filesystem will need a larger > amount of space for extended attributes, the filesystem can be > formatted with 512, 1024, or even larger sizes (so long as it is a > power of two >= 128 bytes). > > - Ted - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html