⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iobuf.h.txt

📁 linux内核学习笔记 希望想看的人可以很快下载到
💻 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 + -