[PATCH v1 00/12] Bhyve driver improvements

Ryan Moeller posted 12 patches 4 years, 1 month ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20200224064624.66649-1-ryan@iXsystems.com
docs/schemas/basictypes.rng                   |  10 +-
docs/schemas/domaincommon.rng                 |  30 +++
src/bhyve/bhyve_capabilities.c                |  14 +
src/bhyve/bhyve_capabilities.h                |   1 +
src/bhyve/bhyve_command.c                     | 241 ++++++++++++++----
src/bhyve/bhyve_driver.c                      |  30 +++
src/bhyve/bhyve_monitor.c                     | 157 ++++++++----
src/bhyve/bhyve_monitor.h                     |   2 +
src/bhyve/bhyve_parse_command.c               | 124 +++++++--
src/bhyve/bhyve_process.c                     |  83 ++++--
src/bhyve/bhyve_process.h                     |   3 +
src/conf/domain_audit.c                       |   5 +
src/conf/domain_conf.c                        | 131 ++++++++++
src/conf/domain_conf.h                        |  29 ++-
src/conf/virconftypes.h                       |   3 +
src/conf/virnetworkobj.c                      |   5 +-
src/qemu/qemu_command.c                       |   2 +
src/qemu/qemu_domain.c                        |   5 +
src/qemu/qemu_hostdev.c                       |   1 +
src/qemu/qemu_hotplug.c                       |   2 +
src/qemu/qemu_migration.c                     |   1 +
src/security/security_apparmor.c              |   1 +
src/security/security_dac.c                   |  28 ++
src/security/security_selinux.c               |   8 +
src/util/virhook.c                            |  15 ++
src/util/virhook.h                            |  11 +
src/util/virpci.c                             |   4 +-
.../bhyveargv2xml-passthru.args               |   8 +
.../bhyveargv2xml-passthru.xml                |  26 ++
.../bhyveargv2xml-virtio-scsi.args            |   9 +
.../bhyveargv2xml-virtio-scsi.xml             |  20 ++
tests/bhyveargv2xmltest.c                     |   2 +
.../bhyvexml2argv-passthru.args               |  11 +
.../bhyvexml2argv-passthru.ldargs             |   1 +
.../bhyvexml2argv-passthru.xml                |  22 ++
.../bhyvexml2argv-virtio-scsi.args            |   9 +
.../bhyvexml2argv-virtio-scsi.ldargs          |   1 +
.../bhyvexml2argv-virtio-scsi.xml             |  21 ++
tests/bhyvexml2argvtest.c                     |   4 +-
.../bhyvexml2xmlout-passthru.xml              |  29 +++
.../bhyvexml2xmlout-virtio-scsi.xml           |  23 ++
tests/bhyvexml2xmltest.c                      |   2 +
.../qemuxml2argvdata/pci-function-invalid.xml |   2 +-
43 files changed, 983 insertions(+), 153 deletions(-)
create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-passthru.args
create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-passthru.xml
create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-virtio-scsi.args
create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-virtio-scsi.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-passthru.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-passthru.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-passthru.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-virtio-scsi.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-virtio-scsi.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-virtio-scsi.xml
create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-passthru.xml
create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-virtio-scsi.xml
[PATCH v1 00/12] Bhyve driver improvements
Posted by Ryan Moeller 4 years, 1 month ago
Rebased and updated from previous patch set to address feedback:

 * Tried to match local convention for subjects where obvious
 * Split patch 01 into two patches, with updated messages
 * Use g_autofree to fix use after free in conf/virnetworkobj
 * Add missing newline in one of the tests args files
 * Fix failing schema tests after schema change

gmake check now reports no failing tests on FreeBSD for each patch.

Ryan Moeller (12):
  bhyve: process: remove unneeded header
  conf: fix use after free
  bhyve: process: don't bother seeking to end of log
  bhyve: monitor: Make bhyveMonitor a virClass
  bhyve: monitor: refactor register/unregister
  bhyve: add hooks
  bhyve: add reboot support
  bhyve: command: refactor virBhyveProcessBuildBhyveCmd
  bhyve: parse_command: slot,bus,func -> bus,slot,func
  add hostdev handling for bhyve
  bhyve: command: enable booting from hostdevs
  Allow PCI functions up to 255 for PCI ARI

 docs/schemas/basictypes.rng                   |  10 +-
 docs/schemas/domaincommon.rng                 |  30 +++
 src/bhyve/bhyve_capabilities.c                |  14 +
 src/bhyve/bhyve_capabilities.h                |   1 +
 src/bhyve/bhyve_command.c                     | 241 ++++++++++++++----
 src/bhyve/bhyve_driver.c                      |  30 +++
 src/bhyve/bhyve_monitor.c                     | 157 ++++++++----
 src/bhyve/bhyve_monitor.h                     |   2 +
 src/bhyve/bhyve_parse_command.c               | 124 +++++++--
 src/bhyve/bhyve_process.c                     |  83 ++++--
 src/bhyve/bhyve_process.h                     |   3 +
 src/conf/domain_audit.c                       |   5 +
 src/conf/domain_conf.c                        | 131 ++++++++++
 src/conf/domain_conf.h                        |  29 ++-
 src/conf/virconftypes.h                       |   3 +
 src/conf/virnetworkobj.c                      |   5 +-
 src/qemu/qemu_command.c                       |   2 +
 src/qemu/qemu_domain.c                        |   5 +
 src/qemu/qemu_hostdev.c                       |   1 +
 src/qemu/qemu_hotplug.c                       |   2 +
 src/qemu/qemu_migration.c                     |   1 +
 src/security/security_apparmor.c              |   1 +
 src/security/security_dac.c                   |  28 ++
 src/security/security_selinux.c               |   8 +
 src/util/virhook.c                            |  15 ++
 src/util/virhook.h                            |  11 +
 src/util/virpci.c                             |   4 +-
 .../bhyveargv2xml-passthru.args               |   8 +
 .../bhyveargv2xml-passthru.xml                |  26 ++
 .../bhyveargv2xml-virtio-scsi.args            |   9 +
 .../bhyveargv2xml-virtio-scsi.xml             |  20 ++
 tests/bhyveargv2xmltest.c                     |   2 +
 .../bhyvexml2argv-passthru.args               |  11 +
 .../bhyvexml2argv-passthru.ldargs             |   1 +
 .../bhyvexml2argv-passthru.xml                |  22 ++
 .../bhyvexml2argv-virtio-scsi.args            |   9 +
 .../bhyvexml2argv-virtio-scsi.ldargs          |   1 +
 .../bhyvexml2argv-virtio-scsi.xml             |  21 ++
 tests/bhyvexml2argvtest.c                     |   4 +-
 .../bhyvexml2xmlout-passthru.xml              |  29 +++
 .../bhyvexml2xmlout-virtio-scsi.xml           |  23 ++
 tests/bhyvexml2xmltest.c                      |   2 +
 .../qemuxml2argvdata/pci-function-invalid.xml |   2 +-
 43 files changed, 983 insertions(+), 153 deletions(-)
 create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-passthru.args
 create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-passthru.xml
 create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-virtio-scsi.args
 create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-virtio-scsi.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-passthru.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-passthru.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-passthru.xml
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-virtio-scsi.args
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-virtio-scsi.ldargs
 create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-virtio-scsi.xml
 create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-passthru.xml
 create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-virtio-scsi.xml

-- 
2.24.1


Re: [PATCH v1 00/12] Bhyve driver improvements
Posted by Daniel P. Berrangé 4 years, 1 month ago
On Mon, Feb 24, 2020 at 01:46:12AM -0500, Ryan Moeller wrote:
> Rebased and updated from previous patch set to address feedback:
> 
>  * Tried to match local convention for subjects where obvious
>  * Split patch 01 into two patches, with updated messages
>  * Use g_autofree to fix use after free in conf/virnetworkobj
>  * Add missing newline in one of the tests args files
>  * Fix failing schema tests after schema change
> 
> gmake check now reports no failing tests on FreeBSD for each patch.
> 
> Ryan Moeller (12):
>   bhyve: process: remove unneeded header
>   conf: fix use after free
>   bhyve: process: don't bother seeking to end of log
>   bhyve: monitor: Make bhyveMonitor a virClass
>   bhyve: monitor: refactor register/unregister
>   bhyve: add hooks
>   bhyve: add reboot support
>   bhyve: command: refactor virBhyveProcessBuildBhyveCmd
>   bhyve: parse_command: slot,bus,func -> bus,slot,func

Thanks for the contribution, I've pushed these patches now
since they were independant of the remaining three.


>   add hostdev handling for bhyve
>   bhyve: command: enable booting from hostdevs
>   Allow PCI functions up to 255 for PCI ARI

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

Re: [PATCH v1 00/12] Bhyve driver improvements
Posted by Ryan Moeller 4 years, 1 month ago
Awesome, thank you!

I'll try to address the remaining feedback when I get a chance.
This work isn't exactly my primary job function so it's been more of a
nights and weekends labor of love kind of thing.

Thanks again for taking the time to review and push these patches!

On Mon, Feb 24, 2020 at 1:07 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> On Mon, Feb 24, 2020 at 01:46:12AM -0500, Ryan Moeller wrote:
> > Rebased and updated from previous patch set to address feedback:
> >
> >  * Tried to match local convention for subjects where obvious
> >  * Split patch 01 into two patches, with updated messages
> >  * Use g_autofree to fix use after free in conf/virnetworkobj
> >  * Add missing newline in one of the tests args files
> >  * Fix failing schema tests after schema change
> >
> > gmake check now reports no failing tests on FreeBSD for each patch.
> >
> > Ryan Moeller (12):
> >   bhyve: process: remove unneeded header
> >   conf: fix use after free
> >   bhyve: process: don't bother seeking to end of log
> >   bhyve: monitor: Make bhyveMonitor a virClass
> >   bhyve: monitor: refactor register/unregister
> >   bhyve: add hooks
> >   bhyve: add reboot support
> >   bhyve: command: refactor virBhyveProcessBuildBhyveCmd
> >   bhyve: parse_command: slot,bus,func -> bus,slot,func
>
> Thanks for the contribution, I've pushed these patches now
> since they were independant of the remaining three.
>
>
> >   add hostdev handling for bhyve
> >   bhyve: command: enable booting from hostdevs
> >   Allow PCI functions up to 255 for PCI ARI
>
> Regards,
> Daniel
> --
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
>


-- 
Ryan Moeller
iXsystems, Inc.
OS Developer
Email: ryan@iXsystems.com