Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: 9pfs reflow text

...

The function of providing disk access in the form of a "shared folder" or
full disk passthrough is a function that seems to have appeared mostly to
support desktop virtualization of the type where for example the user wants
to run for example Microsoft Windows in combination with a MacOS or Linux
by running it in a virtual machine hosted by their main operating system.
It might serve some purpose also in server virtualization if that also is
based on Type-2 hypervisor which is in itself an operating system kernel
but also hosting multiple virtualized environment.

For the automotive use case, the working group found little need for this
type of setup, although we summarize the situation here if the need arises
for some particular product.

If simply network disk access is the desired feature, then most systems
will be able to implement a larger and more standard protocol such as NFS
within the normal operating system environment that is running in he VM
and share storage between them over the (virtual) network they have.
In other words, for many use cases it need not be implemented in the
hypervisor itself.

[VIRTIO] describes one network disk protocol for the purpose of
hypervisor-to-vm storage sharing. The protocol 9pfs is mentioned in two
ways: A PCI type device can indicate that it is going to use the 9P
protocol. The specification also has 9P as a specific separate device
type. There seems to be no definition (or even specific reference) to the
protocol itself and it is assumed to be well known by name and possible
to find online. The specification is complemented by scattered information
regarding the specific implementations (Xen, KVM, QEMU, ...)

The 9pfs protocol seems proven and supposedly OK for what it does. Possibly
more security features needed, depending on use-case. VIRTIO however seems
to defer the definition completely to "somewhere else"? At least a
reference to a canonical specification would seem appropriate.

It is a minimalistic network file-system protocol that the group think is
appropriate for the task. Other network protocols like NFS, SMB/SAMBA etc.
would be too heavy. 9pfs feels a bit esoteric, and while "reinventing" is
usually unnecessary there might be an appropriate opportunity to do that
here, with a new modern protocol plus, a reference open-source
implementation. It ought to take a closer look at flexibility and security
seem somewhat glossed over in the current 9pfs description which references
only "fixed user" or "pass-through" for mapping ownership on files in
guest/host.

Links: Virtio 1.0 spec : {PCI-9P, 9P device type}. Kernel support:
Xen/Linux 4.12+ FE driver Xen implementation details

References:
A set of man pages seemingly defining P9? intro, others
QEMU instruction how to set up a VirtFS (P9).
Example/info how to natively mount a 9P network filesystem,
Source code for 9pfs FUSE driver

...