首页 ext4向后兼容代码
文章
取消

ext4向后兼容代码

ext.h

1
2
3
4
5
6
7
8
#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

1
2
3
4
5
6
7
8
9
10
11
/*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);
...
知识共享许可协议 本文由作者按照 CC BY-SA 4.0 进行授权