Abstract
Virtio-fs(https://virtio-fs.gitlab.io/) is proposed recently to provide file system sharing for lightweight VMs and containers workloads, where shared volumes are a requirement.
In this presentation, we propose an SPDK(Storage Performance Development Kit, https://spdk.io) user space vhost-user-fs solution, which can be used together with QEMU/Kata Container to accelerate virtio-fs. Virtio-fs uses FUSE protocol instead of 9P for communication. So guest kernel is FUSE client and SPDK backend is the FUSE server on host to serve requests. We will present this solution in detail including the utilization of techniques such as virtio-fs, blobfs (SPDK file system) and the significant performance gain achieved.
Blobfs can be built on abstract block device layer in SPDK, which can access local or remote storage services via iSCSI/NVMe/NVMeoF protocols.
Relying on this solution, we are going to build a fast, consistent and secure manner to share directory tree on host to guests.