[Virtio-fs] basic questions

Laszlo Ersek lersek at redhat.com
Sat Aug 24 11:09:18 UTC 2019


(1) The howto document at <https://virtio-fs.gitlab.io/howto-qemu.html>
contains the following snippet:

> force use of memory sharable with the fuse daemon.
>   -m 4G,maxmem=4G -object memory-backend-file,id=mem,size=4G,mem-path=/dev/shm,share=on -numa node,memdev=mem

Why is the "maxmem" property necessary? It's not larger than the
(implicit) "size" property of "-m", and I don't think memory hotplug is
relevant here.

(2) what is the "fuse daemon"? Is that a reference to "virtiofsd"?

(3) Why is a NUMA node necessary, with a memory backend file explicitly
allocated under /dev/shm?

Will the virtio-fs device model exchange such references, over the
socket, with virtiofsd, that point into shared memory?

(4) Couldn't we point mem-path to a normal (host disk based) directory?

Performance aside, that should put less pressure on host RAM, and
otherwise work the same. Is that correct?

(5) Is the shared memory area necessary for the most basic virtio-fs

(6) I seem to recall that virtio-fs allows guests to notice if files
have changed since they last looked.

Is that functionality tied to "ireg" daemon, and to the "versiontable"
property added in commit 8fb5b17bea63 ("virtio-fs: Allow mapping of meta
data version table", 2019-08-23)?

(7) Are guests required to access the virtio-fs device at the PCI level
-- such as an MMIO region -- in order to observe async file changes, or
is this functionality available purely at the virtio communication level
(i.e., transport-independently)?

It doesn't seem to be explained at


More information about the Virtio-fs mailing list