ext4向后兼容代码

Posted liuxuzzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); 
...

 

以上是关于ext4向后兼容代码的主要内容,如果未能解决你的问题,请参考以下文章

v3 mini 控制器的向后兼容性:错误膨胀类片段

使用兼容包 android 膨胀片段

为新指令集扩展优化编译的代码的向后兼容性

EF 自动迁移向后兼容

pyuic5 向后兼容性

Apple iOS 是不是支持向后兼容?