Roman Bogorodskiy wrote:
Recently virtio-9p support was added to bhyve.
On the host side it looks this way:
bhyve .... -s 25:0,virtio-9p,sharename=/path/to/shared/dir
It could also have ",ro" suffix to make share read-only.
In the Linux guest, this share is mounted with:
mount -t 9p sharename /mnt/sharename
In the guest user will see the same permissions and ownership
information for this directory as on the host. No uid/gid remapping is
supported, so those could resolve to wrong user or group names.
The same applies to the other side: chowning/chmodding in the guest will
set specified ownership and permissions on the host.
In libvirt domain XML it's modeled using the 'filesystem' element:
<filesystem type='mount'>
<source dir='/path/to/shared/dir'/>
<target dir='sharename'/>
</filesystem>
Optional 'readonly' sub-element enables read-only mode.
Signed-off-by: Roman Bogorodskiy <bogorodskiy(a)gmail.com>
---
src/bhyve/bhyve_capabilities.c | 14 ++++
src/bhyve/bhyve_capabilities.h | 1 +
src/bhyve/bhyve_command.c | 72 +++++++++++++++++++
src/bhyve/bhyve_device.c | 10 +++
src/libvirt_private.syms | 1 +
.../bhyvexml2argv-fs-9p-readonly.args | 10 +++
.../bhyvexml2argv-fs-9p-readonly.ldargs | 3 +
.../bhyvexml2argv-fs-9p-readonly.xml | 28 ++++++++
...exml2argv-fs-9p-unsupported-accessmode.xml | 27 +++++++
...bhyvexml2argv-fs-9p-unsupported-driver.xml | 28 ++++++++
.../bhyvexml2argv-fs-9p.args | 10 +++
.../bhyvexml2argv-fs-9p.ldargs | 3 +
.../bhyvexml2argvdata/bhyvexml2argv-fs-9p.xml | 27 +++++++
tests/bhyvexml2argvtest.c | 9 ++-
.../bhyvexml2xmlout-fs-9p.xml | 38 ++++++++++
tests/bhyvexml2xmltest.c | 1 +
16 files changed, 281 insertions(+), 1 deletion(-)
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-fs-9p-readonly.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-fs-9p-readonly.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-fs-9p-readonly.xml
create mode 100644
tests/bhyvexml2argvdata/bhyvexml2argv-fs-9p-unsupported-accessmode.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-fs-9p-unsupported-driver.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-fs-9p.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-fs-9p.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-fs-9p.xml
create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-fs-9p.xml
This is missing
tests/bhyvexml2argvdata/bhyvexml2argv-fs-9p-unsupported-type.xml
It doesn't seem to be important enough to justify sending v2 just
because of it, so it's here:
https://gitlab.com/rbogorodskiy/libvirt/-/blob/bhyve-9p/tests/bhyvexml2ar...
Roman Bogorodskiy