exfat文件系统(四)-----FsMountVol

来源:互联网 发布:freyja.sys动作数据 编辑:程序博客网 时间:2024/05/16 09:09

针对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,
};


1 0