block_write() ----- 块设备文件数据的读操作

1.把参数中文件指针pos位置映射成数据块号和块中偏移量

2.将pos所在位置的数据读入到缓冲区的一个缓冲块bread()

3.计算要写的长度

4.从用户数据缓冲区将数据复制到当前缓冲块的位移位开始处(从第2次开始,偏移量都是0)

5.如果还有数据,go to step 2

图:见笔记

用户读写操作过程,以读为例:

再以块设备读函数为例:

block_read() ---> bread() ---> ll_rw_block()

results matching ""

    No results matching ""