Skip to content

Conversation

@refi64
Copy link
Contributor

@refi64 refi64 commented Jun 15, 2023

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.

@refi64 refi64 force-pushed the virtiofsd-linux branch from a6da36e to b697534 Compare June 15, 2023 01:19
@refi64
Copy link
Contributor Author

refi64 commented Jun 15, 2023

Huh so Cirrus CI is failing...it would seem the Go version being installed there is older than Lima's minimum? Lima's go.mod has Go 1.19, but Ubuntu 22.04 has Go 1.18. Should I update the CI to a newer Ubuntu, install Go 1.19 or newer onto 22.04, or...?

@AkihiroSuda
Copy link
Member

Should I update the CI to a newer Ubuntu, install Go 1.19 or newer onto 22.04, or...?

I guess replacing errors.Join with go-multierror is enough to get CI green.
We can upgrade CI to Go 1.19 and switch away from go-multierror to errors.Join, but I expect it to happen in a separate PR.

@AkihiroSuda AkihiroSuda added this to the v0.17.0 milestone Jun 16, 2023
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. lima-vm#20.

Signed-off-by: Ryan Gonzalez <[email protected]>
@refi64 refi64 force-pushed the virtiofsd-linux branch from b697534 to 6323939 Compare June 17, 2023 01:08
@refi64
Copy link
Contributor Author

refi64 commented Jun 17, 2023

@AkihiroSuda oops thanks for the info, switched to go-multierror now

Copy link
Member

@AkihiroSuda AkihiroSuda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks

@AkihiroSuda AkihiroSuda merged commit dcbc30a into lima-vm:master Jun 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants