ext4 筆記三(結構體描述)

2021-06-11 16:21:40 字數 1763 閱讀 6828

只是在ext3的基礎上擴充套件了一些字段,可以支援更大的硬碟和更大的檔案。

如:s_blocks_count  修改為s_blocks_count_lo和s_blocks_count_hi

結構體如下:

/*

*structure of the super block

*/struct ext4_super_block ;

塊組描述資訊。

包含了blockbitmap、inode bitmap、inode table等存放的塊位址。

結構體如下:

/*

*structure of a blocks group descriptor

*/struct ext4_group_desc

;

儲存了每個節點的資訊。

該節點的屬性、所佔的塊位址。

結構體如下:

/*

*structure of an inode on the disk

*/struct ext4_inode linux1;

struct hurd1;

struct masix1;

} osd1; /*os dependent 1 */

__le32 i_block[ext4_n_blocks];/*pointers to blocks定位儲存檔案的塊的陣列*/

__le32 i_generation; /* file version (for nfs) 用於nfs的檔案版本*/

__le32 i_file_acl_lo; /* file acl包含擴充套件屬性的塊號,老版本中為0*/

__le32 i_size_high;

__le32 i_obso_faddr; /* obsoleted fragment address */

union linux2;

struct hurd2;

struct masix2;

} osd2; /*os dependent 2 */

__le16 i_extra_isize;

__le16 i_pad1;

__le32 i_ctime_extra; /* extra change time (nsec << 2 | epoch) */

__le32 i_mtime_extra; /* extra modification time(nsec << 2 |epoch) */

__le32 i_atime_extra; /* extra access time (nsec << 2 | epoch) */

__le32 i_crtime; /* file creation time */

__le32 i_crtime_extra; /* extrafilecreationtime (nsec << 2 | epoch) */

__le32 i_version_hi; /* high 32 bits for 64-bit version */

};

用於儲存所有目錄的資訊。

根目錄總是在inode表的第二項,而其子目錄則在根目錄檔案的內容中定義。

結構體如下:

struct ext4_dir_entry ;

科目三筆記

1 起步 1左燈,喇叭3秒 2鬆手剎 3腳踩離合器和腳剎,掛一檔 先手剎,後檔位 4起步 問題 在轉彎時,加油掛2擋以及 3擋 還是轉彎過後直行,加油掛擋呢?2 左轉 右 速度在20碼上 3 加減檔 3 2 3 4 3 問題 1掛4檔後,加油到 38碼?2什麼時候從4擋掛到 3擋,檔位切換要等多久?...

資料結構 3 27筆記

定義和使用結構體變數 1,定義結構體變數 1 先宣告結構體型別,再定義該型別變數 struct student stu1,stu2 2 宣告型別的同時定義變數 一般形式 struct 結構體名變數名表列 3 不指定型別名直接定義結構體型別變數 一般形式 struct變數名表列 注意 編譯時對型別不分...

第三週筆記

1什麼是注釋 注釋是用來介紹 的功能 也可以注釋一些 讓它不執行 2編譯好的class檔案注釋是不存在的 注釋只存在源 裡 1單行注釋 後面就是注釋內容 例如 2多行注釋 多行注釋 多行注釋 例如 3文件注釋 可以生成今後使用的功能說明書 1.0有固定書寫位置 類上可以寫 屬性上可以寫 方法可以寫 ...