Umm, having a constant-sized inode may seem like a waste of memory, but
- it's a lot faster
- it allows changing a type of the inode (ie reclaiming one inode for
another type of filesystem)
- you tend to win back anything you lose in unused space by having less
allocation overhead.
Finally, the sizes tend to be fairly close to each other (compared to
the total size of an inode), and the largest inode type is also the most
common.
In short, having different sizes for inodes only makes the code a lot
more complex for almost no gain.
Linus