mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-26 07:36:19 +00:00
71 lines
2.1 KiB
Diff
71 lines
2.1 KiB
Diff
|
From 4c5166df583459574526841234d61d6ae5be19a0 Mon Sep 17 00:00:00 2001
|
||
|
From: David Allan <dallan@redhat.com>
|
||
|
Date: Tue, 19 May 2009 16:26:55 -0400
|
||
|
Subject: [PATCH] Step 6 of 8 Implement the server side dispatcher
|
||
|
|
||
|
---
|
||
|
qemud/remote.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
1 files changed, 48 insertions(+), 0 deletions(-)
|
||
|
|
||
|
diff --git a/qemud/remote.c b/qemud/remote.c
|
||
|
index e27820f..8d24a3a 100644
|
||
|
--- a/qemud/remote.c
|
||
|
+++ b/qemud/remote.c
|
||
|
@@ -4323,6 +4323,54 @@ remoteDispatchNodeDeviceReset (struct qemud_server *server ATTRIBUTE_UNUSED,
|
||
|
}
|
||
|
|
||
|
|
||
|
+static int
|
||
|
+remoteDispatchNodeDeviceCreateXml(struct qemud_server *server ATTRIBUTE_UNUSED,
|
||
|
+ struct qemud_client *client ATTRIBUTE_UNUSED,
|
||
|
+ virConnectPtr conn,
|
||
|
+ remote_error *rerr,
|
||
|
+ remote_node_device_create_xml_args *args,
|
||
|
+ remote_node_device_create_xml_ret *ret)
|
||
|
+{
|
||
|
+ virNodeDevicePtr dev;
|
||
|
+
|
||
|
+ dev = virNodeDeviceCreateXML (conn, args->xml_desc, args->flags);
|
||
|
+ if (dev == NULL) {
|
||
|
+ remoteDispatchConnError(rerr, conn);
|
||
|
+ return -1;
|
||
|
+ }
|
||
|
+
|
||
|
+ make_nonnull_node_device (&ret->dev, dev);
|
||
|
+ virNodeDeviceFree(dev);
|
||
|
+
|
||
|
+ return 0;
|
||
|
+}
|
||
|
+
|
||
|
+
|
||
|
+static int
|
||
|
+remoteDispatchNodeDeviceDestroy(struct qemud_server *server ATTRIBUTE_UNUSED,
|
||
|
+ struct qemud_client *client ATTRIBUTE_UNUSED,
|
||
|
+ virConnectPtr conn,
|
||
|
+ remote_error *rerr,
|
||
|
+ remote_node_device_destroy_args *args,
|
||
|
+ void *ret ATTRIBUTE_UNUSED)
|
||
|
+{
|
||
|
+ virNodeDevicePtr dev;
|
||
|
+
|
||
|
+ dev = virNodeDeviceLookupByName(conn, args->name);
|
||
|
+ if (dev == NULL) {
|
||
|
+ remoteDispatchFormatError(rerr, "%s", _("node_device not found"));
|
||
|
+ return -1;
|
||
|
+ }
|
||
|
+
|
||
|
+ if (virNodeDeviceDestroy(dev) == -1) {
|
||
|
+ remoteDispatchConnError(rerr, conn);
|
||
|
+ return -1;
|
||
|
+ }
|
||
|
+
|
||
|
+ return 0;
|
||
|
+}
|
||
|
+
|
||
|
+
|
||
|
/**************************
|
||
|
* Async Events
|
||
|
**************************/
|
||
|
--
|
||
|
1.6.0.6
|