[PATCH] bhyve: implement virtio-9p support

Michal Privoznik mprivozn at redhat.com
Fri Oct 9 07:53:00 UTC 2020


On 10/8/20 3:18 PM, Roman Bogorodskiy wrote:
>    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 at 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/bhyvexml2argvdata/bhyvexml2argv-fs-9p-unsupported-type.xml

Yep, with this squashed in:

Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

Michal




More information about the libvir-list mailing list