📄 read_write.c.txt
字号:
any question,send email to netxiong@eyou.com
相关文件
/fs/block_dev.c //block_read(write)
/drivers/block/ll_rw_blk.c
********************读写请求的入口***************************
struct file_operations def_blk_fops = {
open: blkdev_open,
release: blkdev_close,
llseek: block_llseek,
read: block_read, //在这里,系统设置了读写入口
write: block_write, //在这里,系统设置了读写入口
fsync: block_fsync,
ioctl: blkdev_ioctl,
};
*************************************************************
*******************读写的系统调用************************
(1)asmlinkage ssize_t sys_read(unsigned int fd, char * buf, size_t count)
(2)asmlinkage ssize_t sys_write(unsigned int fd, const char * buf, size_t count)
file = fget(fd); //显得到struct file结构指针
struct inode *inode = file->f_dentry->d_inode; //得到inode指针
write = file->f_op->write) //得到相应的读写函数的指针
ret = write(file, buf, count, &file->f_pos); //执行读写请求
*********************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -