Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44964
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 173
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-27 20:25
文章分类

全部博文(17)

文章存档

2016年(2)

2015年(2)

2014年(13)

我的朋友

分类: LINUX

2015-09-18 16:25:52

支持scsi命令的双向传输:
1. 涉及的文件:bsg.c
2. 关联:
    当scsi探测设备时,会添加设备,并在sysfs中增加接口文件:
        调用scsi_sysfs_add_sdev,其又会调用bsg_register_queue
                
3. 操作函数:
    static const struct file_operations bsg_fops = {
            .read        =    bsg_read,
            .write        =    bsg_write,
            .poll        =    bsg_poll,
            .open        =    bsg_open,
            .release    =    bsg_release,
            .unlocked_ioctl    =    bsg_ioctl,
            .owner        =    THIS_MODULE,
    }
4. 操作函数:bsg_ioctl
        其处理SG_IO的方式:将sg_io_v4 map 到request,其中会生成bio,之后提交bio。(如果是写请求,会多生成一个读request,来作为next request)
阅读(1060) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~