ext4向后兼容代码

ext.h:

#define EXT4_GOOD_OLD_INODE_SIZE 128 
... 
#define EXT4_GOOD_OLD_REV    0    /* The good old (original) format */ 
... 
/* s 一般是 super_block */ 
#define EXT4_INODE_SIZE(s)    (((s)->s_rev_level == EXT4_GOOD_OLD_REV) ?  
EXT4_GOOD_OLD_INODE_SIZE :  
(s)->s_inode_size) 

可以看见老的inode是128字节,但并没有用它。

super.c:

/*s_inode_size : 
sbi 是 ext4_sb_info , sb=superblock 
*/ 

if (le32_to_cpu(es->s_rev_level) == EXT4_GOOD_OLD_REV) { 
  sbi->s_inode_size = EXT4_GOOD_OLD_INODE_SIZE; 
  sbi->s_first_ino = EXT4_GOOD_OLD_FIRST_INO; 
} else { 
  sbi->s_inode_size = le16_to_cpu(es->s_inode_size); 
  sbi->s_first_ino = le32_to_cpu(es->s_first_ino); 
...
原文地址:https://www.cnblogs.com/liuxuzzz/p/5349561.html