*参照元 [#h78e9fc2]
#backlinks

*説明 [#xa3aaebf]
-パス: [[linux-2.6.33/include/linux/buffer_head.h]]

-FIXME: これは何?
--説明


**参考 [#r8d69890]


*実装 [#w09c33b5]
 /*
  * Historically, a buffer_head was used to map a single block
  * within a page, and of course as the unit of I/O through the
  * filesystem and block layers.  Nowadays the basic I/O unit
  * is the bio, and buffer_heads are used for extracting block
  * mappings (via a get_block_t call), for tracking state within
  * a page (via a page_mapping) and for wrapping bio submission
  * for backward compatibility reasons (e.g. submit_bh).
  */
 struct buffer_head {
 	unsigned long b_state;		/* buffer state bitmap (see above) */
 	struct buffer_head *b_this_page;/* circular list of page's buffers */
-
--[[linux-2.6.33/buffer_head]]

 	struct page *b_page;		/* the page this bh is mapped to */
-
--[[linux-2.6.33/page]]


 	sector_t b_blocknr;		/* start block number */
-
--[[linux-2.6.33/sector_t]]

 	size_t b_size;			/* size of mapping */
 	char *b_data;			/* pointer to data within the page */

 	struct block_device *b_bdev;
-
--[[linux-2.6.33/block_device]]

 	bh_end_io_t *b_end_io;		/* I/O completion */
-
--[[linux-2.6.33/bh_end_io_t]]

  	void *b_private;		/* reserved for b_end_io */
 	struct list_head b_assoc_buffers; /* associated with another mapping */
-
--[[linux-2.6.33/list_head]]

 	struct address_space *b_assoc_map;	/* mapping this buffer is
 						   associated with */
-
--[[linux-2.6.33/address_space]]

 	atomic_t b_count;		/* users using this buffer_head */
-
--[[linux-2.6.33/atomic_t]]

 };


*コメント [#i697079d]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS