[libvirt] [RFC PATCH 0/9] add virtiofs support (virtio-fs epopee)

Ján Tomko posted 9 patches 2 weeks ago
Test syntax-check passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1572609485.git.jtomko@redhat.com
docs/schemas/domaincommon.rng                 |   1 +
src/conf/domain_conf.c                        |   1 +
src/conf/domain_conf.h                        |   2 +
src/qemu/qemu_capabilities.c                  |   4 +
src/qemu/qemu_capabilities.h                  |   3 +
src/qemu/qemu_command.c                       |  67 +++++-
src/qemu/qemu_domain.c                        |   4 +
src/qemu/qemu_domain_address.c                |  35 +++-
src/qemu/qemu_extdevice.c                     | 191 ++++++++++++++++++
...vhost-user-fs-fd-memory.x86_64-latest.args |  38 ++++
.../vhost-user-fs-fd-memory.xml               |  38 ++++
...vhost-user-fs-hugepages.x86_64-latest.args |  42 ++++
.../vhost-user-fs-hugepages.xml               |  67 ++++++
tests/qemuxml2argvtest.c                      |   9 +
.../vhost-user-fs-fd-memory.x86_64-latest.xml |   1 +
.../vhost-user-fs-hugepages.x86_64-latest.xml |   1 +
tests/qemuxml2xmltest.c                       |   3 +
17 files changed, 493 insertions(+), 14 deletions(-)
create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-fd-memory.xml
create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-hugepages.xml
create mode 120000 tests/qemuxml2xmloutdata/vhost-user-fs-fd-memory.x86_64-latest.xml
create mode 120000 tests/qemuxml2xmloutdata/vhost-user-fs-hugepages.x86_64-latest.xml

[libvirt] [RFC PATCH 0/9] add virtiofs support (virtio-fs epopee)

Posted by Ján Tomko 2 weeks ago
https://bugzilla.redhat.com/show_bug.cgi?id=1694166

A work in progress, but I'm sending it now to get the XML
bikesh^Wdiscussion out of the way.

TODO:
  * documentation
    (due to the requirement of shared memory and therefore
     a <numa> topology specification, this probably deserves
     a separate article on https://libvirt.org/kbase.html )
  * validation - refuse unsupported combinations and block
    migration
  * remove a few hardcoded values
    * figure out the binary path from qemu interop config
    * leave queue-size and cache-size on their default values
      or expose them in XML
  * use FD passing for vhost-user-fs device as well
  * clean up the code

Tested with:
  commit 320000e72ec0613e164ce9608d865396fb2da278
  Author: Linus Torvalds <torvalds@linux-foundation.org>
  Date:   Wed Oct 30 14:17:18 2019 +0100

    Merge tag 'iommu-fixes-v5.4-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu

  and

  commit d3d2efbb0e37494708dde359a9d0f492f84833e8
  Author:     Dr. David Alan Gilbert <dgilbert@redhat.com>
  CommitDate: 2019-10-24 11:50:55 +0100

    virtio-fs: Allow mapping of meta data version table

  from https://gitlab.com/virtio-fs/qemu/tree/virtio-fs-dev

  git fetch https://gitlab.com/virtio-fs/qemu.git virtio-fs-dev
  (not yet merged upstream)

Ján Tomko (9):
  qemu: address: take fsdriver type into account
  qemu: cmdline: take fsdriver into account
  qemu: add QEMU_CAPS_VHOST_USER_FS
  wip: tests: add xml2xml tests for virtio-fs
  wip: add XML -> ARGV tests for virtio-fs
  conf: qemu: add virtio-fs fsdriver type
  qemu: pass private data to qemuBuildFilesystemCommandLine
  wip: start virtiofsd
  wip: build vhost-user-fs device command line

 docs/schemas/domaincommon.rng                 |   1 +
 src/conf/domain_conf.c                        |   1 +
 src/conf/domain_conf.h                        |   2 +
 src/qemu/qemu_capabilities.c                  |   4 +
 src/qemu/qemu_capabilities.h                  |   3 +
 src/qemu/qemu_command.c                       |  67 +++++-
 src/qemu/qemu_domain.c                        |   4 +
 src/qemu/qemu_domain_address.c                |  35 +++-
 src/qemu/qemu_extdevice.c                     | 191 ++++++++++++++++++
 ...vhost-user-fs-fd-memory.x86_64-latest.args |  38 ++++
 .../vhost-user-fs-fd-memory.xml               |  38 ++++
 ...vhost-user-fs-hugepages.x86_64-latest.args |  42 ++++
 .../vhost-user-fs-hugepages.xml               |  67 ++++++
 tests/qemuxml2argvtest.c                      |   9 +
 .../vhost-user-fs-fd-memory.x86_64-latest.xml |   1 +
 .../vhost-user-fs-hugepages.x86_64-latest.xml |   1 +
 tests/qemuxml2xmltest.c                       |   3 +
 17 files changed, 493 insertions(+), 14 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-fd-memory.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-fd-memory.xml
 create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-hugepages.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/vhost-user-fs-hugepages.xml
 create mode 120000 tests/qemuxml2xmloutdata/vhost-user-fs-fd-memory.x86_64-latest.xml
 create mode 120000 tests/qemuxml2xmloutdata/vhost-user-fs-hugepages.x86_64-latest.xml

-- 
2.21.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [RFC PATCH 0/9] add virtiofs support (virtio-fs epopee)

Posted by Stefan Hajnoczi 2 weeks ago
On Fri, Nov 1, 2019 at 1:15 PM Ján Tomko <jtomko@redhat.com> wrote:

Great, this looks like the right direction.

>     * leave queue-size and cache-size on their default values
>       or expose them in XML

Please support the following parameters:
 * virtiofsd path - useful for testing custom virtiofsd binaries or
alternative implementations (similar to setting <emulator> path)
 * DAX Window size: -device vhost-user-fs-device cache-size (in
megabytes and cache-size=0 means disable the DAX Window)
 * cache mode: virtiofsd -o cache=none|auto|always

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list