此结构包含关于buffer cache中一块缓存的信息。
/* bh state bits */
#define BH_Uptodate 0 /* 1 if the buffer contains valid data */
#define BH_Dirty 1 /* 1 if the buffer is dirty */
#define BH_Lock 2 /* 1 if the buffer is locked */
#define BH_Req 3 /* 0 if the buffer has been invalidated */
#define BH_Touched 4 /* 1 if the buffer has been touched (aging) */
#define BH_Has_aged 5 /* 1 if the buffer has been aged (aging) */
#define BH_Protected 6 /* 1 if the buffer is protected */
#define BH_FreeOnIO 7 /* 1 to discard the buffer_head after IO */
struct buffer_head {
/* First cache line: */
unsigned long b_blocknr; /* block number */
kdev_t b_dev; /* device (B_FREE = free) */
kdev_t b_rdev; /* Real device */
unsigned long b_rsector; /* Real buffer location on disk */
struct buffer_head *b_next; /* Hash queue list */
struct buffer_head *b_this_page; /* circular list of buffers in one
page */
/* Second cache line: */
unsigned long b_state; /* buffer state bitmap (above) */
struct buffer_head *b_next_free;
unsigned int b_count; /* users using this block */
unsigned long b_size; /* block size */
/* Non-performance-critical data follows. */
char *b_data; /* pointer to data block */
unsigned int b_list; /* List that this buffer appears */
unsigned long b_flushtime; /* Time when this (dirty) buffer
* should be written */
unsigned long b_lru_time; /* Time when this buffer was
* last used. */
struct wait_queue *b_wait;
struct buffer_head *b_prev; /* doubly linked hash list */
struct buffer_head *b_prev_free; /* doubly linked list of buffers */
struct buffer_head *b_reqnext; /* request queue */
};
分享到:
相关推荐
Arduino-Characters_To_Linux_Buffer_THE_HARD_WAY.zip,快速和肮脏的字符到Linux缓冲区在C-硬方式-与“字形数组”,数组fu,指针fu,但没有乳房,爆炸,或汽车追逐谢拉夫到Linux缓冲区的硬方式,Arduino是一家开源软...
jdk-11.0.15.1(jdk-11.0.15.1_linux-aarch64_bin.rpm )适用于Linux ARM 64 RPM Package系统:是一款Java 语言的软件开发工具包。JAVA JDK软件是整个Java的核心,不仅操作很简单,而且JAVA JDK有着实用、稳定、安全...
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化...
Linux 通用块设备层基础之buffer_head
Lockless Ring Buffer Design for Linux v2.13.6.
自己做了一个2.6.39的mac的patch
点、线、面的C#代码,风格简练易懂,多多学习
TFTP Server for Windows 1.4 Buffer Overflow
python库,解压后可用。 资源全名:ragged_buffer-0.2.13-cp37-none-win_amd64.whl
资源来自pypi官网。 资源全名:ragged_buffer-0.2.9-cp38-none-win_amd64.whl
资源来自pypi官网。 资源全名:ragged_buffer-0.2.13-cp37-none-win_amd64.whl
ffmpeg 采集麦克风音频数据,通过设置dshow 的 audio_buffer_size 选项降低延迟。
一种轻量级的循环缓冲设计实现,可用于数据缓冲
资源分类:Python库 所属语言:Python 资源全名:ragged_buffer-0.2.2-cp38-none-win_amd64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
UART双数据缓冲中断读取程序,保证任何波特率下的可靠实时通信。
一个简单介绍缓冲区溢出攻击的paper
DSP c6416 code for EDMA
he following feature set has been implemented in this release: o open init o close o read a buffer from VME 2GHz Reflective Memory (RFM2g) o write a buffer to RFM2g o peek a byte word or longword from...