1. 程式人生 > >exfat檔案系統(四)-----FsMountVol

exfat檔案系統(四)-----FsMountVol

針對FsMountVol進行詳細描述。

在exfat_super.c的exfat_fill_super函式中,呼叫了exfat mount核心的FsMountVol函式來讀取分割槽資訊並初始化相關資料。

FsMountVol控制流程如下

控制流程圖中需要用的一個重要的函式指標資料是exfat_fs_func如下:

static FS_FUNC_T exfat_fs_func = {
 .alloc_cluster = exfat_alloc_cluster,
 .free_cluster = exfat_free_cluster,
 .count_used_clusters = exfat_count_used_clusters,

 .init_dir_entry = exfat_init_dir_entry,
 .init_ext_entry = exfat_init_ext_entry,
 .find_dir_entry = exfat_find_dir_entry,
 .delete_dir_entry = exfat_delete_dir_entry,
 .get_uni_name_from_ext_entry = exfat_get_uni_name_from_ext_entry,
 .count_ext_entries = exfat_count_ext_entries,
 .calc_num_entries = exfat_calc_num_entries,

 .get_entry_type = exfat_get_entry_type,
 .set_entry_type = exfat_set_entry_type,
 .get_entry_attr = exfat_get_entry_attr,
 .set_entry_attr = exfat_set_entry_attr,
 .get_entry_flag = exfat_get_entry_flag,
 .set_entry_flag = exfat_set_entry_flag,
 .get_entry_clu0 = exfat_get_entry_clu0,
 .set_entry_clu0 = exfat_set_entry_clu0,
 .get_entry_size = exfat_get_entry_size,
 .set_entry_size = exfat_set_entry_size,
 .get_entry_time = exfat_get_entry_time,
 .set_entry_time = exfat_set_entry_time,
};