Re: [Ext2-devel] [RFC 0/13] extents and 48bit ext3

Jeff Garzik
2006-06-10T02:58:39Z

Theodore Tso wrote:
> Inodes per group and inode blocks per group are maintained
> across an online resize. So there is no difference in inodes per
> group for a filesystem created at size S1 and resized to size S2
> (using either an on-line or off-line resize), and a filesystem which
> is created to be size S2.

Here are real numbers, which illustrate how the above two statements
contradict, and how the second statement is false:

blkdev A, formatted with a 50MB filesystem
block size 4096
block count 12800 (size S1)
inodes per group 12800
blkdev A, formatted to full capacity (~350GB)
block size 4096
block count 95472256 (size S2)
inodes per group 32768

Case 1: online resize from 50MB to 350GB
Result: inodes per group == 12800 (it remains the same)

Case 2: mke2fs blkdev A, with no block-count restrictions
Result: inodes per group == 32768

Thus, each inode group holds fewer inodes per group in case #1 than #2.
Thus, case #2 has greater inode density than case #1.

Overall,
a) mke2fs chooses optimal values based on creation-time block count
b) online resize does not change these values

thus the values are no longer optimal. And in this case, they are never
-more- optimal, and potentially -less- optimal.

Jeff