VHOST-SCSI代码分析(3)数据流处理

        VHOST SCSI数据流如下所示:

VHOST-SCSI代码分析(3)数据流处理_第1张图片

IO下发过程

        虚拟机中应用态程序下发IO,依次经过VFS/文件系统层,BLOCK层,SCSI层,经VIRTIO SCSI驱动virtscsi_commit_rqs访问寄存器通知HOST内核中VHOST设备(VHOST KICK过程),数据已经下发。HOST内核通过vhost_scsi_handle_kick将SCSI命令下发,这里是将IO发给target core,target core会将IO请求经过SCSI层将IO发送给硬件。

IO完成过程

        硬件处理后的IO完成信息经过SCSI层,target core,经vhost worker进行IO完成信息传递,HOST内核需要通知虚拟机IO完成信息准备,通过注入中断给虚拟机(VHOST CALL过程),虚拟机收到中断后,将IO完成信息依次经过SCSI层,BLOCK层,VFS/文件系统,最终完成IO。

你可能感兴趣的:(VIRTIO,VHOST-SCSI)