📄
字号:
any problems, send mails to lysindybear@sina.com.cn
相关文件
/include/linux/locks.h
/fs/buffer.c
/fs/ext2/ialloc.c(ext2_free_inode)
在linux系统中,几乎所有的和关缓存的操作都时同步的,也就是你仅仅需要将所要进行的读写数据结构
交给缓存,他会替你找一个合适的时间进行实际的读写操作,但是有些时候我们需要进行异步的读写操作,
这个时候,可以遵循下面的步骤
读操作:
很简单,系统已经提供了bread这个函数,这个函数就提供异步的读功能。
写操作:
稍微复杂一点。
bh = getblk(); //的到一个buffer_head结构
mark_buffer_dirty(bh); //mark这个bh为脏
ll_rw_block (WRITE, 1, &bh); //进行写操作
wait_on_buffer (bh); //等待完成
以上的步骤完成以后,这个bh应该是uptodate, unlock的
注意,这个办法不能用于数据量过大的地方使用,因为其中的mark_buffer_dirty当数据过大的时候,会
陷入死循环!!!!!!!!!!!!!11
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -