下载此文档

UBIFS分析二:重要结构体.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
UBIFS中的重要的结构体
用leeming的话来说,一个大的工程中,最最核心的往往是数据结构体的定义。所以看代码不急着看c文件,而是主要看document和h文件,来理解设计者的思路,这样才能走对路。
1. struct ubi_device
UBI中对于一个UBI设备的抽象是以struct ubi_device来定义,其中包括了该UBI设备的各种信息。
struct ubi_device {
struct cdev cdev;
struct device dev;
int ubi_num;//UBI设备的标号,在ubiattach用户程序时以—d选项来输入
char ubi_name[sizeof(UBI_NAME_STR)+5];//ubi设备的名称
int vol_count;//在该UBI设备中有多少个volume
struct ubi_volume *volumes[UBI_MAX_VOLUMES+UBI_INT_VOL_COUNT];
spinlock_t volumes_lock;
int ref_count;
int image_seq;
int rsvd_pebs;//保留的LEB数目
int avail_pebs;//可用的LEB数目
int beb_rsvd_pebs;//为坏块处理而保留的LEB数目
int beb_rsvd_level;//为坏块处理而保留的LEB的正常数目
int autoresize_vol_id;
int vtbl_slots;
int vtbl_size;//volume表的大小(bytes)
struct ubi_vtbl_record *vtbl;//内存中volume表的拷贝
struct mutex device_mutex;
int max_ec;//最大的erase counter
/* Note, mean_ec is not updated run-time — should be fixed */
int mean_ec;//平均erase counter
/* EBA sub-system’s stuff */
unsigned long long global_sqnum;
spinlock_t ltree_lock;
struct rb_root ltree;
struct mutex alc_mutex;
/* Wear—leveling sub—system's stuff */
struct rb_root used;//一个红黑树,其中是已用的blcok
struct rb_root erroneous;// RB-tree of erroneous used physical eraseblocks
struct rb_root free;//红黑树的根,其中是没有用到的block
struct rb_root scrub;//需要擦除的blcok
struct list_head pq[UBI_PROT_QUEUE_LEN];
int pq_head;
spinlock_t wl_lock;
struct mute

UBIFS分析二:重要结构体 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人phljianjian
  • 文件大小63 KB
  • 时间2021-04-14