📄 iobuf.h.txt
字号:
any problems, send mails to sindybear@163.com
相关文件
/fs/iobuf.c
/*
* 下面的参数定义了kiobuf的数目。对于一般的系统来说,其意义分别为
* KIO_MAX_ATOMIC_IO = 512k
* KIO_STATIC_PAGES = 512 / 4 + 1 = 129
* KIO_MAX_SECTORS = 512 * 2 = 1024
*/
#define KIO_MAX_ATOMIC_IO 512 //最大的io数目(以kb计算)
#define KIO_STATIC_PAGES (KIO_MAX_ATOMIC_IO / (PAGE_SIZE >> 10) + 1) //页面数
#define KIO_MAX_SECTORS (KIO_MAX_ATOMIC_IO * 2) //最大的io扇区数。
struct kiobuf
{
int nr_pages; //指示map_list数组中有多少个页
int array_len; //也就是maplist的长度。
int offset; /* Offset to start of valid data */
int length; //一次读写的长度,以byte计算。注意它表示全部的数据长度
struct page ** maplist; //所有的和这个kiobuf相关联的page都放在这个数组中
unsigned int locked : 1,
dovary : 1;
struct page * map_array[KIO_STATIC_PAGES];
struct buffer_head * bh[KIO_MAX_SECTORS]; //提供读写所需要的buffer_head
unsigned long blocks[KIO_MAX_SECTORS]; //标志读写的块号
atomic_t io_count;
int transferred; //
int errno;
void (*end_io) (struct kiobuf *);
void *end_io_data;
wait_queue_head_t wait_queue;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -