You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This adds support for using virtiofs to mount filesystems on Linux
hosts, via QEMU's vhost-user-fs-pci device + the Rust implementation of
virtiofsd. In a simple "benchmark" running sha256sum on a copy of the
Windows 11 ARM64 VHDK (because it's a large file I randomly had lying
around):
- reverse-sshfs took ~21s
- 9p took ~13-15s
- virtiofs took ~6-7s
(For comparison, running it directly on the host system took ~5s.)
This is marked as "experimental" because it has undergone testing
by...me and relies on additional tools installed other than just QEMU.
Unfortunately, this does *not* include support for DAX, because that's
not merged into upstream QEMU yet, making it rather difficult to test.
Ref. #20.
Signed-off-by: Ryan Gonzalez <[email protected]>
The "virtiofs" mount type is implemented by using apple Virtualization.Framework shared directory (uses virtio-fs) device.
94
+
The "virtiofs" mount type is implemented via the virtio-fs device by using apple Virtualization.Framework shared directory on macOS and virtiofsd on Linux.
95
95
Linux guest kernel must enable the CONFIG_VIRTIO_FS support for this support.
96
96
97
97
An example configuration:
98
98
```yaml
99
-
vmType: "vz"
99
+
vmType: "vz" # only for macOS; Linux uses 'qemu'
100
100
mountType: "virtiofs"
101
101
mounts:
102
102
- location: "~"
103
103
```
104
104
105
105
#### Caveats
106
-
- The "virtiofs" mount type is supported only on macOS 13 or above with `vmType: vz` config. See also [`vmtype.md`](./vmtype.md).
106
+
- For macOS, the "virtiofs" mount type is supported only on macOS 13 or above with `vmType: vz` config. See also [`vmtype.md`](./vmtype.md).
107
+
- For Linux, the "virtiofs" mount type requires the [Rust version of virtiofsd](https://gitlab.com/virtio-fs/virtiofsd).
108
+
Using the version from QEMU (usually packaged as `qemu-virtiofsd`) will *not* work, as it requires root access to run.
0 commit comments