FAT driver學習筆記(一)

2021-06-23 09:46:37 字數 1354 閱讀 2763

1,基本結構體的作用:

struct

description

struct fat_boot_sector

boot sector

struct fat_boot_fsinfo

fsinfo資訊

struct msdos_dir_entry

表示目錄項,短檔名

struct msdos_dir_slot

表示長檔名

struct  fat_slot_info

目錄下目錄項資訊

struct fat_entry

表示fat表項

struct msdos_sb_info

super block

struct fat_mount_options

mount 選項

struct  msdos_inode_info

fat filesystem對應的inode資訊

struct fat_cache

fat_cache

struct fat_cache_id

用於保持在鍊錶中找到的離fclus最近的乙個fat_cache的資訊

2,fat檔案系統的註冊

kernel中fat的初始化是在namei_vfat.c檔案中的init_vfat_fs()函式,該函式用於註冊fat檔案系統。

1075 static struct file_system_type vfat_fs_type = ;

3,vfat_mount()函式的流程

1,分配乙個vfs層的super_block()結構體並對其各項成員進行賦值,super_block->s_fs_info指向fat檔案系統本身的super_block msdos_sb_info結構體,對於fat檔案系統,從裝置讀取第乙個邏輯sector的內容,作必要的引數檢查並提取必要的有用資訊,如果檔案系統boot_sector結構體裡記錄的sector大小比塊裝置的block大小還大的話,那麼將檔案系統sector的大小賦值給塊裝置block。

2,fat_inode=new_inode(sb)函式,呼叫該super_block的操作函式分配乙個新的inode並將其加到全域性煉表裡

3,分配乙個root_inode結構體,然後呼叫fat_read_root(root_inode)函式對root_inode結構體相關成員賦值,比如會根據mount時候的uid gid選項對inode的uid和gid成員賦值,然後對inode操作函式進行賦值,最後呼叫d_make_root(root_inode)函式建立fat32檔案系統的根目錄,建立dentry和inode的聯絡。

學習筆記一

lisp 最重要的一種執行模式之一 repl that endless cycle of reading,evaluating,and printing is why it s called the read eval print loop or repl.第乙個lisp程式 在repl模式下執行l...

學習筆記 一

什麼是seo?搜尋引擎優化 search engine optimization,簡稱seo 是一種利用搜尋引擎的搜尋規則來提高目的 在有關搜尋引擎內的排名的方式。深刻理解是 通過seo這樣一套基於搜尋引擎的營銷思路,為 提供生態式的自我營銷解決方案,讓 在行業內佔據領先地位,從而獲得品牌收益。研究...

學習筆記一

今天兩節課,也就是兩個問題的分析裝配線排程問題和矩陣鏈相乘ai,j中的 i,j 分別表示的是第 i 條線路的第 j 個步驟,每個線路每條步驟都有不同的用時,還有t i j中的 i,j 表示的就是從第 i 條線路第 j 步到達另外一條線路的第 j 1 步要用的時間,我們可以用如下 表示每一步花費的時間...