Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21768
  • 博文数量: 17
  • 博客积分: 410
  • 博客等级: 下士
  • 技术积分: 111
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-22 22:04
文章分类

全部博文(17)

文章存档

2011年(17)

我的朋友
最近访客
bio

分类: LINUX

2011-08-03 00:23:51

struct bio {
sector_t bi_sector; /* 请求的起始地址 */
struct bio *bi_next; /* request queue link */
struct block_device bi_bdev; /* 请求的块设备 */
unsigned long bi_flags; /* 状态、命令 */
unsigned long bi_rw; /* 读写标志 */
unsigned short bi_vcnt; /* bio_vec的数量 */
unsigned short bi_idx; /* bio_vec列表的当前索引 */
unsigned short bi_phys_segments; /* 有多少块连续的内存 */
unsigned int bi_size; /* I/O请求的大小 */
unsigned short bi_hw_segments; /* number of segments after remapping */
unsigned int bi_hw_front_size; /* size of the first mergeable segment */
unsigned int bi_hw_back_size; /* size of the last mergeable segment */
unsigned int bi_max_vecs; /* 缓冲区的最大数量 */
struct bio_vec *bi_io_vec; /* 缓冲区列表 */
bio_end_io_t *bi_end_io; /* 请求完成函数*/
atomic_t bi_cnt; /* 引用计数 */
void *bi_private; /* 自定义 */
bio_destructor_t *bi_destructor; /* destructor */
}

我看了一下bio_vec的结构:

struct bio_vec {
struct page *bv_page; /* 缓冲区所在的页 */
unsigned int bv_len; /* 缓冲区大小 */
unsigned int bv_offset; /* 缓冲区在页中的偏移量 */
};

阅读(386) | 评论(0) | 转发(0) |
0

上一篇:linux设备驱动第三版

下一篇:自定义bio

给主人留下些什么吧!~~