super_block结构是所有档案系统所共同使用的一个结构但是除了共同的部分之外档案系统之间也有着相当的差异性因此为协调此差异性在super_block结构有一个字段是专门来存放各个档案系统所独自享有的信息这些信息不用说当然是在呼叫档案系统提供的read_super()时所填入的在Kernel 里这个字段是这样子的 union { struct minix_sb_info minix_sb; struct ext_sb_info ext_sb; … struct hpfs_sb_info hpfs_sb; struct hfs_sb_info hfs_sb; struct adfs_sb_info adfs_sb; struct qnx_sb_info qnx_sb; void *generic_sbp; } u; 因为每个super_block在同一时间内最多只会记录一个档案系统的资料所以这个字段是union像ext_sb就是专门存放ext档案系统本身所额外需要的信息由ext_read_super()函式填入的 |