On Tue, Aug 18, 2020 at 09:48:05AM -0500, Jonathon Jongsma wrote:
This new API function provides a way to start a persistently-defined
mediate device that was defined by virNodeDeviceDefineXML() (or one that
was defined externally via mdevctl)
Signed-off-by: Jonathon Jongsma <jjongsma(a)redhat.com>
---
include/libvirt/libvirt-nodedev.h | 2 +
src/driver-nodedev.h | 4 ++
src/libvirt-nodedev.c | 35 +++++++++++
src/libvirt_public.syms | 1 +
src/node_device/node_device_driver.c | 64 ++++++++++++++++++++
src/node_device/node_device_driver.h | 6 ++
src/node_device/node_device_udev.c | 1 +
src/remote/remote_driver.c | 1 +
src/remote/remote_protocol.x | 14 ++++-
src/remote_protocol-structs | 4 ++
tests/nodedevmdevctldata/mdevctl-create.argv | 1 +
tests/nodedevmdevctltest.c | 11 +++-
12 files changed, 141 insertions(+), 3 deletions(-)
create mode 100644 tests/nodedevmdevctldata/mdevctl-create.argv
...
+static int
+virMdevctlCreate(virNodeDeviceDefPtr def)
I'd like to keep the virMdevctlX
command mappings aligned with the actual
mdevctl commands, so ^this should IMO be part of virMdevctlStart and separate
the code with a 'persistent' flag.
+{
+ int status;
+ g_autoptr(virCommand) cmd = NULL;
+
+ cmd = nodeDeviceGetMdevctlCreateCommand(def->caps->data.mdev.uuid);
+
+ if (virCommandRun(cmd, &status) < 0 || status != 0)
+ return -1;
+
+ return 0;
+}
+
+
Regards,
Erik