On Fri, 23 Aug 2019 16:39:39 +0100
Stefan Hajnoczi <> wrote:
> The virtio file system device transports Linux FUSE requests between a
> FUSE daemon running on the host and the FUSE driver inside the guest.
>
> The actual FUSE request definitions are not duplicated in the virtio
> specification, similar to how virtio-scsi does not document SCSI
> command details. FUSE request definitions are available here:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/fuse.h
>
> This patch documents the core virtio file system device, which is
> functional but lacks the DAX feature introduced in the next patch.
>
> Signed-off-by: Stefan Hajnoczi <>
> ---
> v7:
> * Rename num_queues to num_request_queues [Cornelia]
> * Clarify that endianness is chosen by the guest driver in the
> FUSE_INIT message
> v6:
> * Clarify that num_queues only counts request queues [Cornelia]
> * State that only high priority requests go on the hiprio queue [Cornelia]
> * Expand on how endianness works [Cornelia]
> * Use "driver" and "device" instead of "guest" and "host" [Michael]
> * Explain how setuid files and device nodes can be a security issue [Michael]
> * Clarify that security issues with shared file systems involve multiple machines [Michael]
> ---
> content.tex | 1 +
> introduction.tex | 3 +
> virtio-fs.tex | 225 +++++++++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 229 insertions(+)
> create mode 100644 virtio-fs.tex
Reviewed-by: Cornelia Huck <>