如果只使用 SPDK 的 vhost-user SCSI 特性,完全可以 revert 掉引入的 Unit Attention feature,因为不同的 Guest OS 对于 Unit Attention 是否能完美处理尚未得知,vhost-user 的 resize 机制更加独立。 对应的 patch 如下: diff --git a/lib/vhost/vhost_scsi.c b/lib/vhost/vhost_scsi.c index 6dc70940c....
对于vhost-user-blk,由于不具有这个能力,所以不得不实现新的 vhost-user 协议命令(GET_CONFIG),且大小信息需要放到 PCI 配置空间里,才能传递到 guest os。 我们从 virtio-scsi 协议说起。 virtio-scsi virtio 协议详情见这里,可以找到 virtio-scsi 的章节。 virtio-scsi 分为前后端实现。前端 guest 驱动在 linux...
vhost_scsi_session_add_tgt:if(vhost_dev_has_feature(vsession,VIRTIO_SCSI_F_HOTPLUG)){eventq_enqueue(svsession,scsi_tgt_num,VIRTIO_SCSI_T_TRANSPORT_RESET,VIRTIO_SCSI_EVT_RESET_RESCAN);vhost_scsi_session_remove_tgt:/* Send a hotremove Virtio event */if(vhost_dev_has_feature(vsession,VIRTIO...