This patch makes the libvirtd daemon itself use mutliple threads.
Each individual client is still serialized, but mutliple clients
can now be handled in parallel. This introduces a pool of worker
threads to handle RPC call processing, while the main thread just
runs the event loop and handles network I/O.
THREADING.txt | 63 +
qemud.c | 231 ++++-
qemud.h | 22
remote.c | 1759 ++++++++++++++++++++++---------------------
remote_dispatch_prototypes.h | 936 ++++++++++++++++++++--
remote_generate_stubs.pl | 8
6 files changed, 2004 insertions(+), 1015 deletions(-)
Daniel
diff --git a/qemud/THREADING.txt b/qemud/THREADING.txt
new file mode 100644
--- /dev/null
+++ b/qemud/THREADING.txt
@@ -0,0 +1,63 @@
+
+ Threading: the RULES.
+ ====================
+
+If you don't understand this, don't touch the code. Ask for
+further advice / explanation on the mailing list first.
+
+ - the top level lock is on 'struct qemud_server'. This must be
+ held before acquiring any other lock
+
+ - Each 'struct qemud_client' object has a lock. The server lock
+ must be held before acquiring it. Once the client lock is acquired
+ the server lock can (optionally) be dropped.
+
+ - The event loop has its own self-contained lock. You can ignore
+ this as a caller of virEvent APIs.
+
+
+The server lock is only needed / used once the daemon has entered
+its main loop, which is the qemudRunLoop() . The initial thread
+acquires the lock upon entering this method.
+
+It immediatelty spawns 'n' worker threads, whose main loop is
+the qemudWorker() method. The workers will immediately try to
+acquire the server lock, and thus block since its held by the
+initial thread.
+
+When the initial thread enters the poll() call, it drops the
+server lock. The worker locks now each wakeup, acquire the
+server lock and go into a condition wait on the 'job' condition
+variable. The workers are now all 'primed' for incoming RPC
+calls.
+
+
+
+A file descriptor event now occurrs, causing the initial thread
+to exit poll(). It invokes the registered callback associated
+with the file descriptors on which the event occurrs. The callbacks
+are required to immediately acquire the server lock.
+
+If the callback is dealing with a client event, it will then
+acquire the client lock, and drop the server lock.
+
+The callback will now handle the I/O event, reading or writing
+a RPC message. Once a complete RPC message has been read the
+client is marked as being in state QEMUD_MODE_WAIT_DISPATCH,
+and the 'job' condition variable is signaled. The callback
+now drops the client lock and goes back into the poll() loop
+waiting for more I/O events.
+
+Meanwhile one of the worker threads wakes up from its condition
+variable sleep, holding the server lock. It now searches for a
+client in state QEMUD_MODE_WAIT_DISPATCH. If it doesn't find
+one, it goes back to sleep. If it does find one, then it calls
+into the remoteDispatchClientRequest() method de-serialize the
+incoming message into an XDR object and invoke the helper method
+for the associated RPC call.
+
+While the helper method is executing, no locks are held on either
+the client or server, but the ref count on the 'struct qemud_client'
+object is incremented to ensure its not deleted. The helper can
+now safely invoke the neccessary libvirt API call.
+
diff --git a/qemud/qemud.c b/qemud/qemud.c
--- a/qemud/qemud.c
+++ b/qemud/qemud.c
@@ -263,9 +263,12 @@ qemudDispatchSignalEvent(int watch ATTRI
siginfo_t siginfo;
int ret;
+ pthread_mutex_lock(&server->lock);
+
if (saferead(server->sigread, &siginfo, sizeof(siginfo)) != sizeof(siginfo))
{
qemudLog(QEMUD_ERR, _("Failed to read from signal pipe: %s"),
strerror(errno));
+ pthread_mutex_unlock(&server->lock);
return;
}
@@ -294,6 +297,8 @@ qemudDispatchSignalEvent(int watch ATTRI
if (ret != 0)
server->shutdown = 1;
+
+ pthread_mutex_unlock(&server->lock);
}
int qemudSetCloseExec(int fd) {
@@ -748,6 +753,11 @@ static struct qemud_server *qemudInitial
if (VIR_ALLOC(server) < 0) {
qemudLog(QEMUD_ERR, "%s", _("Failed to allocate struct
qemud_server"));
+ return NULL;
+ }
+
+ if (pthread_mutex_init(&server->lock, NULL) != 0) {
+ VIR_FREE(server);
return NULL;
}
@@ -1175,6 +1185,9 @@ static int qemudDispatchServer(struct qe
if (VIR_ALLOC(client) < 0)
goto cleanup;
+ if (pthread_mutex_init(&client->lock, NULL) != 0)
+ goto cleanup;
+
client->magic = QEMUD_CLIENT_MAGIC;
client->fd = fd;
client->readonly = sock->readonly;
@@ -1248,31 +1261,23 @@ static int qemudDispatchServer(struct qe
return 0;
cleanup:
- if (client->tlssession) gnutls_deinit (client->tlssession);
+ if (client &&
+ client->tlssession) gnutls_deinit (client->tlssession);
close (fd);
free (client);
return -1;
}
-
-
-static void qemudDispatchClientFailure(struct qemud_server *server, struct qemud_client
*client) {
- int i, n = -1;
- for (i = 0 ; i < server->nclients ; i++) {
- if (server->clients[i] == client) {
- n = i;
- break;
- }
- }
- if (n != -1) {
- if (n < (server->nclients-1))
- memmove(server->clients + n,
- server->clients + n + 1,
- server->nclients - (n + 1));
- server->nclients--;
- }
-
+/*
+ * You must hold lock for at least the client
+ * We don't free stuff here, merely disconnect the client's
+ * network socket & resources.
+ * We keep the libvirt connection open until any async
+ * jobs have finished, then clean it up elsehwere
+ */
+static void qemudDispatchClientFailure(struct qemud_server *server ATTRIBUTE_UNUSED,
+ struct qemud_client *client) {
virEventRemoveHandleImpl(client->watch);
/* Deregister event delivery callback */
@@ -1281,18 +1286,63 @@ static void qemudDispatchClientFailure(s
virConnectDomainEventDeregister(client->conn, remoteRelayDomainEvent);
}
- if (client->conn)
- virConnectClose(client->conn);
-
#if HAVE_SASL
if (client->saslconn) sasl_dispose(&client->saslconn);
free(client->saslUsername);
#endif
if (client->tlssession) gnutls_deinit (client->tlssession);
close(client->fd);
- free(client);
+ client->fd = -1;
}
+
+/* Caller must hold server lock */
+static struct qemud_client *qemudPendingJob(struct qemud_server *server)
+{
+ int i;
+ for (i = 0 ; i < server->nclients ; i++) {
+ pthread_mutex_lock(&server->clients[i]->lock);
+ if (server->clients[i]->mode == QEMUD_MODE_WAIT_DISPATCH) {
+ /* Delibrately don't unlock client - caller wants the lock */
+ return server->clients[i];
+ }
+ pthread_mutex_unlock(&server->clients[i]->lock);
+ }
+ return NULL;
+}
+
+static void *qemudWorker(void *data)
+{
+ struct qemud_server *server = data;
+
+ while (1) {
+ struct qemud_client *client;
+ int len;
+ pthread_mutex_lock(&server->lock);
+ while ((client = qemudPendingJob(server)) == NULL)
+ pthread_cond_wait(&server->job, &server->lock);
+ pthread_mutex_unlock(&server->lock);
+
+ /* We own a locked client now... */
+ client->mode = QEMUD_MODE_IN_DISPATCH;
+ client->refs++;
+
+ if ((len = remoteDispatchClientRequest (server, client)) == 0)
+ qemudDispatchClientFailure(server, client);
+
+ /* Set up the output buffer. */
+ client->mode = QEMUD_MODE_TX_PACKET;
+ client->bufferLength = len;
+ client->bufferOffset = 0;
+
+ if (qemudRegisterClientEvent(server, client, 1) < 0)
+ qemudDispatchClientFailure(server, client);
+
+ client->refs--;
+ pthread_mutex_unlock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
+ }
+}
static int qemudClientReadBuf(struct qemud_server *server,
@@ -1458,16 +1508,11 @@ static void qemudDispatchClientRead(stru
if (client->bufferOffset < client->bufferLength)
return; /* Not read enough */
- if ((len = remoteDispatchClientRequest (server, client)) == 0)
+ client->mode = QEMUD_MODE_WAIT_DISPATCH;
+ if (qemudRegisterClientEvent(server, client, 1) < 0)
qemudDispatchClientFailure(server, client);
- /* Set up the output buffer. */
- client->mode = QEMUD_MODE_TX_PACKET;
- client->bufferLength = len;
- client->bufferOffset = 0;
-
- if (qemudRegisterClientEvent(server, client, 1) < 0)
- qemudDispatchClientFailure(server, client);
+ pthread_cond_signal(&server->job);
break;
}
@@ -1600,13 +1645,17 @@ qemudDispatchClientWrite(struct qemud_se
return;
if (client->bufferOffset == client->bufferLength) {
- /* Done writing, switch back to receive */
- client->mode = QEMUD_MODE_RX_HEADER;
- client->bufferLength = REMOTE_MESSAGE_HEADER_XDR_LEN;
- client->bufferOffset = 0;
+ if (client->closing) {
+ qemudDispatchClientFailure (server, client);
+ } else {
+ /* Done writing, switch back to receive */
+ client->mode = QEMUD_MODE_RX_HEADER;
+ client->bufferLength = REMOTE_MESSAGE_HEADER_XDR_LEN;
+ client->bufferOffset = 0;
- if (qemudRegisterClientEvent (server, client, 1) < 0)
- qemudDispatchClientFailure (server, client);
+ if (qemudRegisterClientEvent (server, client, 1) < 0)
+ qemudDispatchClientFailure (server, client);
+ }
}
/* Still writing */
break;
@@ -1648,6 +1697,8 @@ qemudDispatchClientEvent(int watch, int
struct qemud_client *client = NULL;
int i;
+ pthread_mutex_lock(&server->lock);
+
for (i = 0 ; i < server->nclients ; i++) {
if (server->clients[i]->watch == watch) {
client = server->clients[i];
@@ -1655,8 +1706,13 @@ qemudDispatchClientEvent(int watch, int
}
}
- if (!client)
+ if (!client) {
+ pthread_mutex_unlock(&server->lock);
return;
+ }
+
+ pthread_mutex_lock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
if (client->fd != fd)
return;
@@ -1667,11 +1723,12 @@ qemudDispatchClientEvent(int watch, int
qemudDispatchClientRead(server, client);
else
qemudDispatchClientFailure(server, client);
+ pthread_mutex_unlock(&client->lock);
}
static int qemudRegisterClientEvent(struct qemud_server *server,
struct qemud_client *client,
- int removeFirst) {
+ int update) {
int mode;
switch (client->mode) {
case QEMUD_MODE_TLS_HANDSHAKE:
@@ -1690,20 +1747,23 @@ static int qemudRegisterClientEvent(stru
mode = VIR_EVENT_HANDLE_WRITABLE;
break;
+ case QEMUD_MODE_WAIT_DISPATCH:
+ mode = 0;
+ break;
+
default:
return -1;
}
- if (removeFirst)
- if (virEventRemoveHandleImpl(client->watch) < 0)
+ if (update) {
+ virEventUpdateHandleImpl(client->watch, mode);
+ } else {
+ if ((client->watch = virEventAddHandleImpl(client->fd,
+ mode,
+ qemudDispatchClientEvent,
+ server, NULL)) < 0)
return -1;
-
- if ((client->watch = virEventAddHandleImpl(client->fd,
- mode | VIR_EVENT_HANDLE_ERROR |
- VIR_EVENT_HANDLE_HANGUP,
- qemudDispatchClientEvent,
- server, NULL)) < 0)
- return -1;
+ }
return 0;
}
@@ -1711,7 +1771,11 @@ static void
static void
qemudDispatchServerEvent(int watch, int fd, int events, void *opaque) {
struct qemud_server *server = (struct qemud_server *)opaque;
- struct qemud_socket *sock = server->sockets;
+ struct qemud_socket *sock;
+
+ pthread_mutex_lock(&server->lock);
+
+ sock = server->sockets;
while (sock) {
if (sock->watch == watch)
@@ -1720,14 +1784,10 @@ qemudDispatchServerEvent(int watch, int
sock = sock->next;
}
- if (!sock)
- return;
+ if (sock && sock->fd == fd && events)
+ qemudDispatchServer(server, sock);
- if (sock->fd != fd)
- return;
-
- if (events)
- qemudDispatchServer(server, sock);
+ pthread_mutex_unlock(&server->lock);
}
@@ -1761,6 +1821,26 @@ static void qemudInactiveTimer(int timer
static int qemudRunLoop(struct qemud_server *server) {
int timerid = -1;
+ int ret = -1, i;
+
+ pthread_mutex_lock(&server->lock);
+
+ server->nworkers = 10;
+ if (VIR_ALLOC_N(server->workers, server->nworkers) < 0) {
+ qemudLog(QEMUD_ERR, "%s", _("Failed to allocate workers"));
+ return -1;
+ }
+
+ for (i = 0 ; i < server->nworkers ; i++) {
+ pthread_attr_t attr;
+ pthread_attr_init(&attr);
+ pthread_attr_setdetachstate(&attr, 1);
+
+ pthread_create(&server->workers[i],
+ &attr,
+ qemudWorker,
+ server);
+ }
for (;;) {
/* A shutdown timeout is specified, so check
@@ -1774,8 +1854,31 @@ static int qemudRunLoop(struct qemud_ser
qemudDebug("Scheduling shutdown timer %d", timerid);
}
+ pthread_mutex_unlock(&server->lock);
if (qemudOneLoop() < 0)
break;
+ pthread_mutex_lock(&server->lock);
+
+ reprocess:
+ for (i = 0 ; i < server->nclients ; i++) {
+ int inactive;
+ pthread_mutex_lock(&server->clients[i]->lock);
+ inactive = server->clients[i]->fd == -1
+ && server->clients[i]->refs == 0;
+ pthread_mutex_unlock(&server->clients[i]->lock);
+ if (inactive) {
+ if (server->clients[i]->conn)
+ virConnectClose(server->clients[i]->conn);
+ VIR_FREE(server->clients[i]);
+ server->nclients--;
+ if (i < server->nclients) {
+ memmove(server->clients + i,
+ server->clients + i + 1,
+ server->nclients - i);
+ goto reprocess;
+ }
+ }
+ }
/* Unregister any timeout that's active, since we
* just had an event processed
@@ -1786,11 +1889,21 @@ static int qemudRunLoop(struct qemud_ser
timerid = -1;
}
- if (server->shutdown)
- return 0;
+ if (server->shutdown) {
+ ret = 0;
+ break;
+ }
}
- return -1;
+ for (i = 0 ; i < server->nworkers ; i++) {
+ pthread_t thread = server->workers[i];
+ pthread_mutex_unlock(&server->lock);
+ pthread_join(thread, NULL);
+ pthread_mutex_lock(&server->lock);
+ }
+
+ pthread_mutex_unlock(&server->lock);
+ return ret;
}
static void qemudCleanup(struct qemud_server *server) {
diff --git a/qemud/qemud.h b/qemud/qemud.h
--- a/qemud/qemud.h
+++ b/qemud/qemud.h
@@ -72,10 +72,12 @@ typedef enum {
enum qemud_mode {
- QEMUD_MODE_RX_HEADER,
- QEMUD_MODE_RX_PAYLOAD,
- QEMUD_MODE_TX_PACKET,
- QEMUD_MODE_TLS_HANDSHAKE,
+ QEMUD_MODE_RX_HEADER, /* Receiving the fixed length RPC header data */
+ QEMUD_MODE_RX_PAYLOAD, /* Receiving the variable length RPC payload data */
+ QEMUD_MODE_WAIT_DISPATCH, /* Message received, waiting for worker to process */
+ QEMUD_MODE_IN_DISPATCH, /* RPC call being processed */
+ QEMUD_MODE_TX_PACKET, /* Transmitting reply to RPC call */
+ QEMUD_MODE_TLS_HANDSHAKE, /* Performing TLS handshake */
};
/* Whether we're passing reads & writes through a sasl SSF */
@@ -93,11 +95,14 @@ enum qemud_sock_type {
/* Stores the per-client connection state */
struct qemud_client {
+ PTHREAD_MUTEX_T(lock);
+
int magic;
int fd;
int watch;
- int readonly;
+ int readonly:1;
+ int closing:1;
enum qemud_mode mode;
struct sockaddr_storage addr;
@@ -130,6 +135,7 @@ struct qemud_client {
* called, it will be set back to NULL if that succeeds.
*/
virConnectPtr conn;
+ int refs;
/* back-pointer to our server */
struct qemud_server *server;
@@ -150,10 +156,16 @@ struct qemud_socket {
/* Main server state */
struct qemud_server {
+ pthread_mutex_t lock;
+ pthread_cond_t job;
+
+ int nworkers;
+ pthread_t *workers;
int nsockets;
struct qemud_socket *sockets;
int nclients;
struct qemud_client **clients;
+
int sigread;
char logDir[PATH_MAX];
unsigned int shutdown : 1;
diff --git a/qemud/remote.c b/qemud/remote.c
--- a/qemud/remote.c
+++ b/qemud/remote.c
@@ -79,8 +79,22 @@ typedef union {
} dispatch_ret;
+/**
+ * When the RPC handler is called:
+ *
+ * - Server object is unlocked
+ * - Client object is unlocked
+ *
+ * Both must be locked before use. Server lock must
+ * be held before attempting to lock client.
+ *
+ * Without any locking, it is safe to use:
+ *
+ * 'conn', 'rerr', 'args and 'ret'
+ */
typedef int (*dispatch_fn) (struct qemud_server *server,
struct qemud_client *client,
+ virConnectPtr conn,
remote_error *err,
dispatch_args *args,
dispatch_ret *ret);
@@ -202,6 +216,9 @@ remoteDispatchConnError (remote_error *r
/* This function gets called from qemud when it detects an incoming
* remote protocol message. At this point, client->buffer contains
* the full call message (including length word which we skip).
+ *
+ * Server object is unlocked
+ * Client object is locked
*/
unsigned int
remoteDispatchClientRequest (struct qemud_server *server,
@@ -214,6 +231,7 @@ remoteDispatchClientRequest (struct qemu
dispatch_ret ret;
const dispatch_data *data = NULL;
int rv = -1, len;
+ virConnectPtr conn = NULL;
memset(&args, 0, sizeof args);
memset(&ret, 0, sizeof ret);
@@ -283,7 +301,25 @@ remoteDispatchClientRequest (struct qemu
}
/* Call function. */
- rv = (data->fn)(server, client, &rerr, &args, &ret);
+ conn = client->conn;
+ pthread_mutex_unlock(&client->lock);
+
+ /*
+ * When the RPC handler is called:
+ *
+ * - Server object is unlocked
+ * - Client object is unlocked
+ *
+ * Without locking, it is safe to use:
+ *
+ * 'conn', 'rerr', 'args and 'ret'
+ */
+ rv = (data->fn)(server, client, conn, &rerr, &args, &ret);
+
+ pthread_mutex_lock(&server->lock);
+ pthread_mutex_lock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
+
xdr_free (data->args_filter, (char*)&args);
rpc_error:
@@ -362,19 +398,24 @@ int remoteRelayDomainEvent (virConnectPt
/*----- Functions. -----*/
static int
-remoteDispatchOpen (struct qemud_server *server ATTRIBUTE_UNUSED,
+remoteDispatchOpen (struct qemud_server *server,
struct qemud_client *client,
+ virConnectPtr conn,
remote_error *rerr,
struct remote_open_args *args, void *ret ATTRIBUTE_UNUSED)
{
const char *name;
- int flags;
+ int flags, rc;
/* Already opened? */
- if (client->conn) {
+ if (conn) {
remoteDispatchFormatError (rerr, "%s", _("connection already
open"));
return -1;
}
+
+ pthread_mutex_lock(&server->lock);
+ pthread_mutex_lock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
name = args->name ? *args->name : NULL;
@@ -389,12 +430,12 @@ remoteDispatchOpen (struct qemud_server
? virConnectOpenReadOnly (name)
: virConnectOpen (name);
- if (client->conn == NULL) {
+ if (client->conn == NULL)
remoteDispatchConnError(rerr, NULL);
- return -1;
- }
-
- return 0;
+
+ rc = client->conn ? 0 : -1;
+ pthread_mutex_unlock(&client->lock);
+ return rc;
}
#define CHECK_CONN(client) \
@@ -405,32 +446,32 @@ remoteDispatchOpen (struct qemud_server
static int
remoteDispatchClose (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
- remote_error *rerr,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
+ remote_error *rerr ATTRIBUTE_UNUSED,
void *args ATTRIBUTE_UNUSED, void *ret ATTRIBUTE_UNUSED)
{
- CHECK_CONN(client);
-
- if (virConnectClose (client->conn) < 0) {
- remoteDispatchConnError(rerr, NULL);
- return -1;
- }
-
+ pthread_mutex_lock(&server->lock);
+ pthread_mutex_lock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
+
+ client->closing = 1;
+
+ pthread_mutex_unlock(&client->lock);
return 0;
}
static int
remoteDispatchSupportsFeature (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_supports_feature_args *args,
remote_supports_feature_ret *ret)
{
- CHECK_CONN(client);
-
- ret->supported = virDrvSupportsFeature (client->conn, args->feature);
+ ret->supported = virDrvSupportsFeature (conn, args->feature);
if (ret->supported == -1) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -439,16 +480,16 @@ remoteDispatchSupportsFeature (struct qe
static int
remoteDispatchGetType (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED, remote_get_type_ret *ret)
{
const char *type;
- CHECK_CONN(client);
-
- type = virConnectGetType (client->conn);
+
+ type = virConnectGetType (conn);
if (type == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -466,16 +507,16 @@ remoteDispatchGetType (struct qemud_serv
static int
remoteDispatchGetVersion (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_get_version_ret *ret)
{
unsigned long hvVer;
- CHECK_CONN(client);
-
- if (virConnectGetVersion (client->conn, &hvVer) == -1) {
- remoteDispatchConnError(rerr, client->conn);
+
+ if (virConnectGetVersion (conn, &hvVer) == -1) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -485,17 +526,17 @@ remoteDispatchGetVersion (struct qemud_s
static int
remoteDispatchGetHostname (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_get_hostname_ret *ret)
{
char *hostname;
- CHECK_CONN(client);
-
- hostname = virConnectGetHostname (client->conn);
+
+ hostname = virConnectGetHostname (conn);
if (hostname == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -505,7 +546,8 @@ remoteDispatchGetHostname (struct qemud_
static int
remoteDispatchGetUri (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_get_uri_ret *ret)
@@ -513,9 +555,9 @@ remoteDispatchGetUri (struct qemud_serve
char *uri;
CHECK_CONN(client);
- uri = virConnectGetURI (client->conn);
+ uri = virConnectGetURI (conn);
if (uri == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -525,18 +567,18 @@ remoteDispatchGetUri (struct qemud_serve
static int
remoteDispatchGetMaxVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_get_max_vcpus_args *args,
remote_get_max_vcpus_ret *ret)
{
char *type;
- CHECK_CONN(client);
type = args->type ? *args->type : NULL;
- ret->max_vcpus = virConnectGetMaxVcpus (client->conn, type);
+ ret->max_vcpus = virConnectGetMaxVcpus (conn, type);
if (ret->max_vcpus == -1) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -545,16 +587,16 @@ remoteDispatchGetMaxVcpus (struct qemud_
static int
remoteDispatchNodeGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_node_get_info_ret *ret)
{
virNodeInfo info;
- CHECK_CONN(client);
-
- if (virNodeGetInfo (client->conn, &info) == -1) {
- remoteDispatchConnError(rerr, client->conn);
+
+ if (virNodeGetInfo (conn, &info) == -1) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -572,17 +614,17 @@ remoteDispatchNodeGetInfo (struct qemud_
static int
remoteDispatchGetCapabilities (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_get_capabilities_ret *ret)
{
char *caps;
- CHECK_CONN(client);
-
- caps = virConnectGetCapabilities (client->conn);
+
+ caps = virConnectGetCapabilities (conn);
if (caps == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -592,12 +634,12 @@ remoteDispatchGetCapabilities (struct qe
static int
remoteDispatchNodeGetCellsFreeMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_node_get_cells_free_memory_args *args,
remote_node_get_cells_free_memory_ret *ret)
{
- CHECK_CONN(client);
if (args->maxCells > REMOTE_NODE_MAX_CELLS) {
remoteDispatchFormatError (rerr,
@@ -611,13 +653,13 @@ remoteDispatchNodeGetCellsFreeMemory (st
return -1;
}
- ret->freeMems.freeMems_len = virNodeGetCellsFreeMemory(client->conn,
+ ret->freeMems.freeMems_len = virNodeGetCellsFreeMemory(conn,
(unsigned long long
*)ret->freeMems.freeMems_val,
args->startCell,
args->maxCells);
if (ret->freeMems.freeMems_len == 0) {
VIR_FREE(ret->freeMems.freeMems_val);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -627,17 +669,17 @@ remoteDispatchNodeGetCellsFreeMemory (st
static int
remoteDispatchNodeGetFreeMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_node_get_free_memory_ret *ret)
{
unsigned long long freeMem;
- CHECK_CONN(client);
-
- freeMem = virNodeGetFreeMemory(client->conn);
+
+ freeMem = virNodeGetFreeMemory(conn);
if (freeMem == 0) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
ret->freeMem = freeMem;
@@ -647,7 +689,8 @@ remoteDispatchNodeGetFreeMemory (struct
static int
remoteDispatchDomainGetSchedulerType (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_get_scheduler_type_args *args,
remote_domain_get_scheduler_type_ret *ret)
@@ -655,18 +698,17 @@ remoteDispatchDomainGetSchedulerType (st
virDomainPtr dom;
char *type;
int nparams;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
type = virDomainGetSchedulerType (dom, &nparams);
if (type == NULL) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -678,7 +720,8 @@ remoteDispatchDomainGetSchedulerType (st
static int
remoteDispatchDomainGetSchedulerParameters (struct qemud_server *server
ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client
ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_get_scheduler_parameters_args
*args,
remote_domain_get_scheduler_parameters_ret
*ret)
@@ -686,7 +729,6 @@ remoteDispatchDomainGetSchedulerParamete
virDomainPtr dom;
virSchedParameterPtr params;
int i, r, nparams;
- CHECK_CONN(client);
nparams = args->nparams;
@@ -699,10 +741,10 @@ remoteDispatchDomainGetSchedulerParamete
return -1;
}
- dom = get_nonnull_domain (client->conn, args->dom);
+ dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
VIR_FREE(params);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -710,7 +752,7 @@ remoteDispatchDomainGetSchedulerParamete
if (r == -1) {
virDomainFree(dom);
VIR_FREE(params);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -761,7 +803,8 @@ cleanup:
static int
remoteDispatchDomainSetSchedulerParameters (struct qemud_server *server
ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client
ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_set_scheduler_parameters_args
*args,
void *ret ATTRIBUTE_UNUSED)
@@ -769,7 +812,6 @@ remoteDispatchDomainSetSchedulerParamete
virDomainPtr dom;
int i, r, nparams;
virSchedParameterPtr params;
- CHECK_CONN(client);
nparams = args->params.params_len;
@@ -804,10 +846,10 @@ remoteDispatchDomainSetSchedulerParamete
}
}
- dom = get_nonnull_domain (client->conn, args->dom);
+ dom = get_nonnull_domain (conn, args->dom);
if (dom == NULL) {
VIR_FREE(params);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -815,7 +857,7 @@ remoteDispatchDomainSetSchedulerParamete
virDomainFree(dom);
VIR_FREE(params);
if (r == -1) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -824,7 +866,8 @@ remoteDispatchDomainSetSchedulerParamete
static int
remoteDispatchDomainBlockStats (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_block_stats_args *args,
remote_domain_block_stats_ret *ret)
@@ -832,18 +875,17 @@ remoteDispatchDomainBlockStats (struct q
virDomainPtr dom;
char *path;
struct _virDomainBlockStats stats;
- CHECK_CONN (client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
path = args->path;
if (virDomainBlockStats (dom, path, &stats, sizeof stats) == -1) {
virDomainFree (dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree (dom);
@@ -859,7 +901,8 @@ remoteDispatchDomainBlockStats (struct q
static int
remoteDispatchDomainInterfaceStats (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_interface_stats_args *args,
remote_domain_interface_stats_ret *ret)
@@ -867,18 +910,17 @@ remoteDispatchDomainInterfaceStats (stru
virDomainPtr dom;
char *path;
struct _virDomainInterfaceStats stats;
- CHECK_CONN (client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
path = args->path;
if (virDomainInterfaceStats (dom, path, &stats, sizeof stats) == -1) {
virDomainFree (dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree (dom);
@@ -897,7 +939,8 @@ remoteDispatchDomainInterfaceStats (stru
static int
remoteDispatchDomainBlockPeek (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_block_peek_args *args,
remote_domain_block_peek_ret *ret)
@@ -907,11 +950,10 @@ remoteDispatchDomainBlockPeek (struct qe
unsigned long long offset;
size_t size;
unsigned int flags;
- CHECK_CONN (client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
path = args->path;
@@ -937,7 +979,7 @@ remoteDispatchDomainBlockPeek (struct qe
ret->buffer.buffer_val, flags) == -1) {
/* free (ret->buffer.buffer_val); - caller frees */
virDomainFree (dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree (dom);
@@ -947,7 +989,8 @@ remoteDispatchDomainBlockPeek (struct qe
static int
remoteDispatchDomainMemoryPeek (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_memory_peek_args *args,
remote_domain_memory_peek_ret *ret)
@@ -956,11 +999,10 @@ remoteDispatchDomainMemoryPeek (struct q
unsigned long long offset;
size_t size;
unsigned int flags;
- CHECK_CONN (client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
offset = args->offset;
@@ -985,7 +1027,7 @@ remoteDispatchDomainMemoryPeek (struct q
ret->buffer.buffer_val, flags) == -1) {
/* free (ret->buffer.buffer_val); - caller frees */
virDomainFree (dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree (dom);
@@ -995,23 +1037,23 @@ remoteDispatchDomainMemoryPeek (struct q
static int
remoteDispatchDomainAttachDevice (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_attach_device_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainAttachDevice (dom, args->xml) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1020,23 +1062,23 @@ remoteDispatchDomainAttachDevice (struct
static int
remoteDispatchDomainCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_create_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainCreate (dom) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1045,17 +1087,17 @@ remoteDispatchDomainCreate (struct qemud
static int
remoteDispatchDomainCreateXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
- remote_error *rerr,
- remote_domain_create_xml_args *args,
- remote_domain_create_xml_ret *ret)
-{
- virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = virDomainCreateXML (client->conn, args->xml_desc, args->flags);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
+ remote_error *rerr,
+ remote_domain_create_xml_args *args,
+ remote_domain_create_xml_ret *ret)
+{
+ virDomainPtr dom;
+
+ dom = virDomainCreateXML (conn, args->xml_desc, args->flags);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1067,17 +1109,17 @@ remoteDispatchDomainCreateXml (struct qe
static int
remoteDispatchDomainDefineXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_define_xml_args *args,
remote_domain_define_xml_ret *ret)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = virDomainDefineXML (client->conn, args->xml);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = virDomainDefineXML (conn, args->xml);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1089,23 +1131,23 @@ remoteDispatchDomainDefineXml (struct qe
static int
remoteDispatchDomainDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_destroy_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainDestroy (dom) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1114,23 +1156,23 @@ remoteDispatchDomainDestroy (struct qemu
static int
remoteDispatchDomainDetachDevice (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_detach_device_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainDetachDevice (dom, args->xml) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1140,17 +1182,17 @@ remoteDispatchDomainDetachDevice (struct
static int
remoteDispatchDomainDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_dump_xml_args *args,
remote_domain_dump_xml_ret *ret)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1158,7 +1200,7 @@ remoteDispatchDomainDumpXml (struct qemu
ret->xml = virDomainGetXMLDesc (dom, args->flags);
if (!ret->xml) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1167,23 +1209,23 @@ remoteDispatchDomainDumpXml (struct qemu
static int
remoteDispatchDomainGetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_get_autostart_args *args,
remote_domain_get_autostart_ret *ret)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainGetAutostart (dom, &ret->autostart) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1192,24 +1234,24 @@ remoteDispatchDomainGetAutostart (struct
static int
remoteDispatchDomainGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_get_info_args *args,
remote_domain_get_info_ret *ret)
{
virDomainPtr dom;
virDomainInfo info;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainGetInfo (dom, &info) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1226,24 +1268,24 @@ remoteDispatchDomainGetInfo (struct qemu
static int
remoteDispatchDomainGetMaxMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_get_max_memory_args *args,
remote_domain_get_max_memory_ret *ret)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
ret->memory = virDomainGetMaxMemory (dom);
if (ret->memory == 0) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1252,24 +1294,24 @@ remoteDispatchDomainGetMaxMemory (struct
static int
remoteDispatchDomainGetMaxVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_get_max_vcpus_args *args,
remote_domain_get_max_vcpus_ret *ret)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
ret->num = virDomainGetMaxVcpus (dom);
if (ret->num == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1278,17 +1320,17 @@ remoteDispatchDomainGetMaxVcpus (struct
static int
remoteDispatchDomainGetOsType (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_get_os_type_args *args,
remote_domain_get_os_type_ret *ret)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1296,7 +1338,7 @@ remoteDispatchDomainGetOsType (struct qe
ret->type = virDomainGetOSType (dom);
if (ret->type == NULL) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1305,7 +1347,8 @@ remoteDispatchDomainGetOsType (struct qe
static int
remoteDispatchDomainGetVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_get_vcpus_args *args,
remote_domain_get_vcpus_ret *ret)
@@ -1314,11 +1357,10 @@ remoteDispatchDomainGetVcpus (struct qem
virVcpuInfoPtr info = NULL;
unsigned char *cpumaps = NULL;
int info_len, i;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1347,7 +1389,7 @@ remoteDispatchDomainGetVcpus (struct qem
VIR_FREE(info);
VIR_FREE(cpumaps);
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1384,10 +1426,119 @@ oom:
static int
remoteDispatchDomainMigratePrepare (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_migrate_prepare_args *args,
remote_domain_migrate_prepare_ret *ret)
+{
+ int r;
+ char *cookie = NULL;
+ int cookielen = 0;
+ char *uri_in;
+ char **uri_out;
+ char *dname;
+
+ uri_in = args->uri_in == NULL ? NULL : *args->uri_in;
+ dname = args->dname == NULL ? NULL : *args->dname;
+
+ /* Wacky world of XDR ... */
+ if (VIR_ALLOC(uri_out) < 0) {
+ remoteDispatchOOMError(rerr);
+ return -1;
+ }
+
+ r = virDomainMigratePrepare (conn, &cookie, &cookielen,
+ uri_in, uri_out,
+ args->flags, dname, args->resource);
+ if (r == -1) {
+ VIR_FREE(uri_out);
+ remoteDispatchConnError(rerr, conn);
+ return -1;
+ }
+
+ /* remoteDispatchClientRequest will free cookie, uri_out and
+ * the string if there is one.
+ */
+ ret->cookie.cookie_len = cookielen;
+ ret->cookie.cookie_val = cookie;
+ if (*uri_out == NULL) {
+ ret->uri_out = NULL;
+ VIR_FREE(uri_out);
+ } else {
+ ret->uri_out = uri_out;
+ }
+
+ return 0;
+}
+
+static int
+remoteDispatchDomainMigratePerform (struct qemud_server *server ATTRIBUTE_UNUSED,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
+ remote_error *rerr,
+ remote_domain_migrate_perform_args *args,
+ void *ret ATTRIBUTE_UNUSED)
+{
+ int r;
+ virDomainPtr dom;
+ char *dname;
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
+ return -1;
+ }
+
+ dname = args->dname == NULL ? NULL : *args->dname;
+
+ r = virDomainMigratePerform (dom,
+ args->cookie.cookie_val,
+ args->cookie.cookie_len,
+ args->uri,
+ args->flags, dname, args->resource);
+ virDomainFree (dom);
+ if (r == -1) {
+ remoteDispatchConnError(rerr, conn);
+ return -1;
+ }
+
+ return 0;
+}
+
+static int
+remoteDispatchDomainMigrateFinish (struct qemud_server *server ATTRIBUTE_UNUSED,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
+ remote_error *rerr,
+ remote_domain_migrate_finish_args *args,
+ remote_domain_migrate_finish_ret *ret)
+{
+ virDomainPtr ddom;
+ CHECK_CONN (client);
+
+ ddom = virDomainMigrateFinish (conn, args->dname,
+ args->cookie.cookie_val,
+ args->cookie.cookie_len,
+ args->uri,
+ args->flags);
+ if (ddom == NULL) {
+ remoteDispatchConnError(rerr, conn);
+ return -1;
+ }
+
+ make_nonnull_domain (&ret->ddom, ddom);
+ virDomainFree (ddom);
+ return 0;
+}
+
+static int
+remoteDispatchDomainMigratePrepare2 (struct qemud_server *server ATTRIBUTE_UNUSED,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
+ remote_error *rerr,
+ remote_domain_migrate_prepare2_args *args,
+ remote_domain_migrate_prepare2_ret *ret)
{
int r;
char *cookie = NULL;
@@ -1406,119 +1557,12 @@ remoteDispatchDomainMigratePrepare (stru
return -1;
}
- r = virDomainMigratePrepare (client->conn, &cookie, &cookielen,
- uri_in, uri_out,
- args->flags, dname, args->resource);
- if (r == -1) {
- VIR_FREE(uri_out);
- remoteDispatchConnError(rerr, client->conn);
- return -1;
- }
-
- /* remoteDispatchClientRequest will free cookie, uri_out and
- * the string if there is one.
- */
- ret->cookie.cookie_len = cookielen;
- ret->cookie.cookie_val = cookie;
- if (*uri_out == NULL) {
- ret->uri_out = NULL;
- VIR_FREE(uri_out);
- } else {
- ret->uri_out = uri_out;
- }
-
- return 0;
-}
-
-static int
-remoteDispatchDomainMigratePerform (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
- remote_error *rerr,
- remote_domain_migrate_perform_args *args,
- void *ret ATTRIBUTE_UNUSED)
-{
- int r;
- virDomainPtr dom;
- char *dname;
- CHECK_CONN (client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
- return -1;
- }
-
- dname = args->dname == NULL ? NULL : *args->dname;
-
- r = virDomainMigratePerform (dom,
- args->cookie.cookie_val,
- args->cookie.cookie_len,
- args->uri,
- args->flags, dname, args->resource);
- virDomainFree (dom);
- if (r == -1) {
- remoteDispatchConnError(rerr, client->conn);
- return -1;
- }
-
- return 0;
-}
-
-static int
-remoteDispatchDomainMigrateFinish (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
- remote_error *rerr,
- remote_domain_migrate_finish_args *args,
- remote_domain_migrate_finish_ret *ret)
-{
- virDomainPtr ddom;
- CHECK_CONN (client);
-
- ddom = virDomainMigrateFinish (client->conn, args->dname,
- args->cookie.cookie_val,
- args->cookie.cookie_len,
- args->uri,
- args->flags);
- if (ddom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
- return -1;
- }
-
- make_nonnull_domain (&ret->ddom, ddom);
- virDomainFree (ddom);
- return 0;
-}
-
-static int
-remoteDispatchDomainMigratePrepare2 (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
- remote_error *rerr,
- remote_domain_migrate_prepare2_args *args,
- remote_domain_migrate_prepare2_ret *ret)
-{
- int r;
- char *cookie = NULL;
- int cookielen = 0;
- char *uri_in;
- char **uri_out;
- char *dname;
- CHECK_CONN (client);
-
- uri_in = args->uri_in == NULL ? NULL : *args->uri_in;
- dname = args->dname == NULL ? NULL : *args->dname;
-
- /* Wacky world of XDR ... */
- if (VIR_ALLOC(uri_out) < 0) {
- remoteDispatchOOMError(rerr);
- return -1;
- }
-
- r = virDomainMigratePrepare2 (client->conn, &cookie, &cookielen,
+ r = virDomainMigratePrepare2 (conn, &cookie, &cookielen,
uri_in, uri_out,
args->flags, dname, args->resource,
args->dom_xml);
if (r == -1) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1534,7 +1578,8 @@ remoteDispatchDomainMigratePrepare2 (str
static int
remoteDispatchDomainMigrateFinish2 (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_migrate_finish2_args *args,
remote_domain_migrate_finish2_ret *ret)
@@ -1542,14 +1587,14 @@ remoteDispatchDomainMigrateFinish2 (stru
virDomainPtr ddom;
CHECK_CONN (client);
- ddom = virDomainMigrateFinish2 (client->conn, args->dname,
+ ddom = virDomainMigrateFinish2 (conn, args->dname,
args->cookie.cookie_val,
args->cookie.cookie_len,
args->uri,
args->flags,
args->retcode);
if (ddom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1560,12 +1605,12 @@ remoteDispatchDomainMigrateFinish2 (stru
static int
remoteDispatchListDefinedDomains (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_list_defined_domains_args *args,
remote_list_defined_domains_ret *ret)
{
- CHECK_CONN(client);
if (args->maxnames > REMOTE_DOMAIN_NAME_LIST_MAX) {
remoteDispatchFormatError (rerr,
@@ -1580,11 +1625,11 @@ remoteDispatchListDefinedDomains (struct
}
ret->names.names_len =
- virConnectListDefinedDomains (client->conn,
+ virConnectListDefinedDomains (conn,
ret->names.names_val, args->maxnames);
if (ret->names.names_len == -1) {
VIR_FREE(ret->names.names_val);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1593,17 +1638,17 @@ remoteDispatchListDefinedDomains (struct
static int
remoteDispatchDomainLookupById (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_lookup_by_id_args *args,
remote_domain_lookup_by_id_ret *ret)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = virDomainLookupByID (client->conn, args->id);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = virDomainLookupByID (conn, args->id);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1614,17 +1659,17 @@ remoteDispatchDomainLookupById (struct q
static int
remoteDispatchDomainLookupByName (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_lookup_by_name_args *args,
remote_domain_lookup_by_name_ret *ret)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = virDomainLookupByName (client->conn, args->name);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = virDomainLookupByName (conn, args->name);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1635,17 +1680,17 @@ remoteDispatchDomainLookupByName (struct
static int
remoteDispatchDomainLookupByUuid (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_lookup_by_uuid_args *args,
remote_domain_lookup_by_uuid_ret *ret)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = virDomainLookupByUUID (client->conn, (unsigned char *) args->uuid);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = virDomainLookupByUUID (conn, (unsigned char *) args->uuid);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1656,16 +1701,16 @@ remoteDispatchDomainLookupByUuid (struct
static int
remoteDispatchNumOfDefinedDomains (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_num_of_defined_domains_ret *ret)
{
- CHECK_CONN(client);
-
- ret->num = virConnectNumOfDefinedDomains (client->conn);
- if (ret->num == -1) {
- remoteDispatchConnError(rerr, client->conn);
+
+ ret->num = virConnectNumOfDefinedDomains (conn);
+ if (ret->num == -1) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1674,18 +1719,18 @@ remoteDispatchNumOfDefinedDomains (struc
static int
remoteDispatchDomainPinVcpu (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_pin_vcpu_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
int rv;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1700,7 +1745,7 @@ remoteDispatchDomainPinVcpu (struct qemu
args->cpumap.cpumap_len);
if (rv == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1709,23 +1754,23 @@ remoteDispatchDomainPinVcpu (struct qemu
static int
remoteDispatchDomainReboot (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_reboot_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainReboot (dom, args->flags) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1734,15 +1779,15 @@ remoteDispatchDomainReboot (struct qemud
static int
remoteDispatchDomainRestore (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_restore_args *args,
void *ret ATTRIBUTE_UNUSED)
{
- CHECK_CONN(client);
-
- if (virDomainRestore (client->conn, args->from) == -1) {
- remoteDispatchConnError(rerr, client->conn);
+
+ if (virDomainRestore (conn, args->from) == -1) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -1751,23 +1796,23 @@ remoteDispatchDomainRestore (struct qemu
static int
remoteDispatchDomainResume (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_resume_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainResume (dom) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1776,23 +1821,23 @@ remoteDispatchDomainResume (struct qemud
static int
remoteDispatchDomainSave (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_save_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainSave (dom, args->to) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1801,23 +1846,23 @@ remoteDispatchDomainSave (struct qemud_s
static int
remoteDispatchDomainCoreDump (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_core_dump_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainCoreDump (dom, args->to, args->flags) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1826,23 +1871,23 @@ remoteDispatchDomainCoreDump (struct qem
static int
remoteDispatchDomainSetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_set_autostart_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainSetAutostart (dom, args->autostart) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1851,23 +1896,23 @@ remoteDispatchDomainSetAutostart (struct
static int
remoteDispatchDomainSetMaxMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_set_max_memory_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainSetMaxMemory (dom, args->memory) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1876,23 +1921,23 @@ remoteDispatchDomainSetMaxMemory (struct
static int
remoteDispatchDomainSetMemory (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_set_memory_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainSetMemory (dom, args->memory) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1901,23 +1946,23 @@ remoteDispatchDomainSetMemory (struct qe
static int
remoteDispatchDomainSetVcpus (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_set_vcpus_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainSetVcpus (dom, args->nvcpus) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1926,23 +1971,23 @@ remoteDispatchDomainSetVcpus (struct qem
static int
remoteDispatchDomainShutdown (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_shutdown_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainShutdown (dom) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1951,23 +1996,23 @@ remoteDispatchDomainShutdown (struct qem
static int
remoteDispatchDomainSuspend (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_suspend_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainSuspend (dom) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -1976,23 +2021,23 @@ remoteDispatchDomainSuspend (struct qemu
static int
remoteDispatchDomainUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_domain_undefine_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virDomainPtr dom;
- CHECK_CONN(client);
-
- dom = get_nonnull_domain (client->conn, args->dom);
- if (dom == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ dom = get_nonnull_domain (conn, args->dom);
+ if (dom == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virDomainUndefine (dom) == -1) {
virDomainFree(dom);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virDomainFree(dom);
@@ -2001,12 +2046,12 @@ remoteDispatchDomainUndefine (struct qem
static int
remoteDispatchListDefinedNetworks (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_list_defined_networks_args *args,
remote_list_defined_networks_ret *ret)
{
- CHECK_CONN(client);
if (args->maxnames > REMOTE_NETWORK_NAME_LIST_MAX) {
remoteDispatchFormatError (rerr,
@@ -2021,11 +2066,11 @@ remoteDispatchListDefinedNetworks (struc
}
ret->names.names_len =
- virConnectListDefinedNetworks (client->conn,
+ virConnectListDefinedNetworks (conn,
ret->names.names_val, args->maxnames);
if (ret->names.names_len == -1) {
VIR_FREE(ret->names.names_val);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2034,12 +2079,12 @@ remoteDispatchListDefinedNetworks (struc
static int
remoteDispatchListDomains (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_list_domains_args *args,
remote_list_domains_ret *ret)
{
- CHECK_CONN(client);
if (args->maxids > REMOTE_DOMAIN_ID_LIST_MAX) {
remoteDispatchFormatError (rerr,
@@ -2053,11 +2098,11 @@ remoteDispatchListDomains (struct qemud_
return -1;
}
- ret->ids.ids_len = virConnectListDomains (client->conn,
+ ret->ids.ids_len = virConnectListDomains (conn,
ret->ids.ids_val, args->maxids);
if (ret->ids.ids_len == -1) {
VIR_FREE(ret->ids.ids_val);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2066,12 +2111,12 @@ remoteDispatchListDomains (struct qemud_
static int
remoteDispatchListNetworks (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_list_networks_args *args,
remote_list_networks_ret *ret)
{
- CHECK_CONN(client);
if (args->maxnames > REMOTE_NETWORK_NAME_LIST_MAX) {
remoteDispatchFormatError (rerr,
@@ -2086,11 +2131,11 @@ remoteDispatchListNetworks (struct qemud
}
ret->names.names_len =
- virConnectListNetworks (client->conn,
+ virConnectListNetworks (conn,
ret->names.names_val, args->maxnames);
if (ret->names.names_len == -1) {
VIR_FREE(ret->names.names_len);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2099,23 +2144,23 @@ remoteDispatchListNetworks (struct qemud
static int
remoteDispatchNetworkCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_create_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = get_nonnull_network (client->conn, args->net);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = get_nonnull_network (conn, args->net);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virNetworkCreate (net) == -1) {
virNetworkFree(net);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virNetworkFree(net);
@@ -2124,17 +2169,17 @@ remoteDispatchNetworkCreate (struct qemu
static int
remoteDispatchNetworkCreateXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_create_xml_args *args,
remote_network_create_xml_ret *ret)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = virNetworkCreateXML (client->conn, args->xml);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = virNetworkCreateXML (conn, args->xml);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2145,17 +2190,17 @@ remoteDispatchNetworkCreateXml (struct q
static int
remoteDispatchNetworkDefineXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_define_xml_args *args,
remote_network_define_xml_ret *ret)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = virNetworkDefineXML (client->conn, args->xml);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = virNetworkDefineXML (conn, args->xml);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2166,23 +2211,23 @@ remoteDispatchNetworkDefineXml (struct q
static int
remoteDispatchNetworkDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_destroy_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = get_nonnull_network (client->conn, args->net);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = get_nonnull_network (conn, args->net);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virNetworkDestroy (net) == -1) {
virNetworkFree(net);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virNetworkFree(net);
@@ -2191,17 +2236,17 @@ remoteDispatchNetworkDestroy (struct qem
static int
remoteDispatchNetworkDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_dump_xml_args *args,
remote_network_dump_xml_ret *ret)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = get_nonnull_network (client->conn, args->net);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = get_nonnull_network (conn, args->net);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2209,7 +2254,7 @@ remoteDispatchNetworkDumpXml (struct qem
ret->xml = virNetworkGetXMLDesc (net, args->flags);
if (!ret->xml) {
virNetworkFree(net);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virNetworkFree(net);
@@ -2218,23 +2263,23 @@ remoteDispatchNetworkDumpXml (struct qem
static int
remoteDispatchNetworkGetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_get_autostart_args *args,
remote_network_get_autostart_ret *ret)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = get_nonnull_network (client->conn, args->net);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = get_nonnull_network (conn, args->net);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virNetworkGetAutostart (net, &ret->autostart) == -1) {
virNetworkFree(net);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virNetworkFree(net);
@@ -2243,17 +2288,17 @@ remoteDispatchNetworkGetAutostart (struc
static int
remoteDispatchNetworkGetBridgeName (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_get_bridge_name_args *args,
remote_network_get_bridge_name_ret *ret)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = get_nonnull_network (client->conn, args->net);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = get_nonnull_network (conn, args->net);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2261,7 +2306,7 @@ remoteDispatchNetworkGetBridgeName (stru
ret->name = virNetworkGetBridgeName (net);
if (!ret->name) {
virNetworkFree(net);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virNetworkFree(net);
@@ -2270,17 +2315,17 @@ remoteDispatchNetworkGetBridgeName (stru
static int
remoteDispatchNetworkLookupByName (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_lookup_by_name_args *args,
remote_network_lookup_by_name_ret *ret)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = virNetworkLookupByName (client->conn, args->name);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = virNetworkLookupByName (conn, args->name);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2291,17 +2336,17 @@ remoteDispatchNetworkLookupByName (struc
static int
remoteDispatchNetworkLookupByUuid (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_lookup_by_uuid_args *args,
remote_network_lookup_by_uuid_ret *ret)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = virNetworkLookupByUUID (client->conn, (unsigned char *) args->uuid);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = virNetworkLookupByUUID (conn, (unsigned char *) args->uuid);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2312,23 +2357,23 @@ remoteDispatchNetworkLookupByUuid (struc
static int
remoteDispatchNetworkSetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_set_autostart_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = get_nonnull_network (client->conn, args->net);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = get_nonnull_network (conn, args->net);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virNetworkSetAutostart (net, args->autostart) == -1) {
virNetworkFree(net);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virNetworkFree(net);
@@ -2337,23 +2382,23 @@ remoteDispatchNetworkSetAutostart (struc
static int
remoteDispatchNetworkUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_network_undefine_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virNetworkPtr net;
- CHECK_CONN(client);
-
- net = get_nonnull_network (client->conn, args->net);
- if (net == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ net = get_nonnull_network (conn, args->net);
+ if (net == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virNetworkUndefine (net) == -1) {
virNetworkFree(net);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virNetworkFree(net);
@@ -2362,16 +2407,16 @@ remoteDispatchNetworkUndefine (struct qe
static int
remoteDispatchNumOfDefinedNetworks (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_num_of_defined_networks_ret *ret)
{
- CHECK_CONN(client);
-
- ret->num = virConnectNumOfDefinedNetworks (client->conn);
- if (ret->num == -1) {
- remoteDispatchConnError(rerr, client->conn);
+
+ ret->num = virConnectNumOfDefinedNetworks (conn);
+ if (ret->num == -1) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2380,16 +2425,16 @@ remoteDispatchNumOfDefinedNetworks (stru
static int
remoteDispatchNumOfDomains (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_num_of_domains_ret *ret)
{
- CHECK_CONN(client);
-
- ret->num = virConnectNumOfDomains (client->conn);
- if (ret->num == -1) {
- remoteDispatchConnError(rerr, client->conn);
+
+ ret->num = virConnectNumOfDomains (conn);
+ if (ret->num == -1) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -2398,26 +2443,27 @@ remoteDispatchNumOfDomains (struct qemud
static int
remoteDispatchNumOfNetworks (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_num_of_networks_ret *ret)
{
- CHECK_CONN(client);
-
- ret->num = virConnectNumOfNetworks (client->conn);
- if (ret->num == -1) {
- remoteDispatchConnError(rerr, client->conn);
- return -1;
- }
-
- return 0;
-}
-
-
-static int
-remoteDispatchAuthList (struct qemud_server *server ATTRIBUTE_UNUSED,
+
+ ret->num = virConnectNumOfNetworks (conn);
+ if (ret->num == -1) {
+ remoteDispatchConnError(rerr, conn);
+ return -1;
+ }
+
+ return 0;
+}
+
+
+static int
+remoteDispatchAuthList (struct qemud_server *server,
struct qemud_client *client,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_auth_list_ret *ret)
@@ -2427,7 +2473,12 @@ remoteDispatchAuthList (struct qemud_ser
remoteDispatchOOMError(rerr);
return -1;
}
+ pthread_mutex_lock(&server->lock);
+ pthread_mutex_lock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
ret->types.types_val[0] = client->auth;
+ pthread_mutex_unlock(&client->lock);
+
return 0;
}
@@ -2471,8 +2522,9 @@ static char *addrToString(remote_error *
* XXX callbacks for stuff like password verification ?
*/
static int
-remoteDispatchAuthSaslInit (struct qemud_server *server ATTRIBUTE_UNUSED,
+remoteDispatchAuthSaslInit (struct qemud_server *server,
struct qemud_client *client,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_auth_sasl_init_ret *ret)
@@ -2483,13 +2535,16 @@ remoteDispatchAuthSaslInit (struct qemud
struct sockaddr_storage sa;
socklen_t salen;
char *localAddr, *remoteAddr;
+
+ pthread_mutex_lock(&server->lock);
+ pthread_mutex_lock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
REMOTE_DEBUG("Initialize SASL auth %d", client->fd);
if (client->auth != REMOTE_AUTH_SASL ||
client->saslconn != NULL) {
qemudLog(QEMUD_ERR, "%s", _("client tried invalid SASL init
request"));
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
/* Get local address in form IPADDR:PORT */
@@ -2498,10 +2553,10 @@ remoteDispatchAuthSaslInit (struct qemud
remoteDispatchFormatError(rerr,
_("failed to get sock address %d (%s)"),
errno, strerror(errno));
- return -1;
+ goto error;
}
if ((localAddr = addrToString(rerr, &sa, salen)) == NULL) {
- return -1;
+ goto error;
}
/* Get remote address in form IPADDR:PORT */
@@ -2510,11 +2565,11 @@ remoteDispatchAuthSaslInit (struct qemud
remoteDispatchFormatError(rerr, _("failed to get peer address %d
(%s)"),
errno, strerror(errno));
VIR_FREE(localAddr);
- return -1;
+ goto error;
}
if ((remoteAddr = addrToString(rerr, &sa, salen)) == NULL) {
VIR_FREE(localAddr);
- return -1;
+ goto error;
}
err = sasl_server_new("libvirt",
@@ -2530,9 +2585,8 @@ remoteDispatchAuthSaslInit (struct qemud
if (err != SASL_OK) {
qemudLog(QEMUD_ERR, _("sasl context setup failed %d (%s)"),
err, sasl_errstring(err, NULL, NULL));
- remoteDispatchAuthError(rerr);
- client->saslconn = NULL;
- return -1;
+ client->saslconn = NULL;
+ goto authfail;
}
/* Inform SASL that we've got an external SSF layer from TLS */
@@ -2543,10 +2597,9 @@ remoteDispatchAuthSaslInit (struct qemud
cipher = gnutls_cipher_get(client->tlssession);
if (!(ssf = (sasl_ssf_t)gnutls_cipher_get_key_size(cipher))) {
qemudLog(QEMUD_ERR, "%s", _("cannot TLS get cipher
size"));
- remoteDispatchAuthError(rerr);
sasl_dispose(&client->saslconn);
client->saslconn = NULL;
- return -1;
+ goto authfail;
}
ssf *= 8; /* tls key size is bytes, sasl wants bits */
@@ -2554,10 +2607,9 @@ remoteDispatchAuthSaslInit (struct qemud
if (err != SASL_OK) {
qemudLog(QEMUD_ERR, _("cannot set SASL external SSF %d (%s)"),
err, sasl_errstring(err, NULL, NULL));
- remoteDispatchAuthError(rerr);
sasl_dispose(&client->saslconn);
client->saslconn = NULL;
- return -1;
+ goto authfail;
}
}
@@ -2583,10 +2635,9 @@ remoteDispatchAuthSaslInit (struct qemud
if (err != SASL_OK) {
qemudLog(QEMUD_ERR, _("cannot set SASL security props %d (%s)"),
err, sasl_errstring(err, NULL, NULL));
- remoteDispatchAuthError(rerr);
- sasl_dispose(&client->saslconn);
- client->saslconn = NULL;
- return -1;
+ sasl_dispose(&client->saslconn);
+ client->saslconn = NULL;
+ goto authfail;
}
err = sasl_listmech(client->saslconn,
@@ -2600,22 +2651,27 @@ remoteDispatchAuthSaslInit (struct qemud
if (err != SASL_OK) {
qemudLog(QEMUD_ERR, _("cannot list SASL mechanisms %d (%s)"),
err, sasl_errdetail(client->saslconn));
- remoteDispatchAuthError(rerr);
- sasl_dispose(&client->saslconn);
- client->saslconn = NULL;
- return -1;
+ sasl_dispose(&client->saslconn);
+ client->saslconn = NULL;
+ goto authfail;
}
REMOTE_DEBUG("Available mechanisms for client: '%s'", mechlist);
ret->mechlist = strdup(mechlist);
if (!ret->mechlist) {
qemudLog(QEMUD_ERR, "%s", _("cannot allocate mechlist"));
- remoteDispatchAuthError(rerr);
- sasl_dispose(&client->saslconn);
- client->saslconn = NULL;
- return -1;
- }
-
- return 0;
+ sasl_dispose(&client->saslconn);
+ client->saslconn = NULL;
+ goto authfail;
+ }
+
+ pthread_mutex_unlock(&client->lock);
+ return 0;
+
+authfail:
+ remoteDispatchAuthError(rerr);
+error:
+ pthread_mutex_unlock(&client->lock);
+ return -1;
}
@@ -2725,6 +2781,7 @@ static int
static int
remoteDispatchAuthSaslStart (struct qemud_server *server,
struct qemud_client *client,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
remote_error *rerr,
remote_auth_sasl_start_args *args,
remote_auth_sasl_start_ret *ret)
@@ -2732,13 +2789,16 @@ remoteDispatchAuthSaslStart (struct qemu
const char *serverout;
unsigned int serveroutlen;
int err;
+
+ pthread_mutex_lock(&server->lock);
+ pthread_mutex_lock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
REMOTE_DEBUG("Start SASL auth %d", client->fd);
if (client->auth != REMOTE_AUTH_SASL ||
client->saslconn == NULL) {
qemudLog(QEMUD_ERR, "%s", _("client tried invalid SASL start
request"));
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
REMOTE_DEBUG("Using SASL mechanism %s. Data %d bytes, nil: %d",
@@ -2756,23 +2816,21 @@ remoteDispatchAuthSaslStart (struct qemu
err, sasl_errdetail(client->saslconn));
sasl_dispose(&client->saslconn);
client->saslconn = NULL;
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
if (serveroutlen > REMOTE_AUTH_SASL_DATA_MAX) {
qemudLog(QEMUD_ERR, _("sasl start reply data too long %d"),
serveroutlen);
sasl_dispose(&client->saslconn);
client->saslconn = NULL;
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
/* NB, distinction of NULL vs "" is *critical* in SASL */
if (serverout) {
if (VIR_ALLOC_N(ret->data.data_val, serveroutlen) < 0) {
remoteDispatchOOMError(rerr);
- return -1;
+ goto error;
}
memcpy(ret->data.data_val, serverout, serveroutlen);
} else {
@@ -2786,24 +2844,32 @@ remoteDispatchAuthSaslStart (struct qemu
ret->complete = 0;
} else {
if (remoteSASLCheckSSF(client, rerr) < 0)
- return -1;
+ goto error;
/* Check username whitelist ACL */
if (remoteSASLCheckAccess(server, client, rerr) < 0)
- return -1;
+ goto error;
REMOTE_DEBUG("Authentication successful %d", client->fd);
ret->complete = 1;
client->auth = REMOTE_AUTH_NONE;
}
- return 0;
+ pthread_mutex_unlock(&client->lock);
+ return 0;
+
+authfail:
+ remoteDispatchAuthError(rerr);
+error:
+ pthread_mutex_unlock(&client->lock);
+ return -1;
}
static int
remoteDispatchAuthSaslStep (struct qemud_server *server,
struct qemud_client *client,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
remote_error *rerr,
remote_auth_sasl_step_args *args,
remote_auth_sasl_step_ret *ret)
@@ -2811,13 +2877,16 @@ remoteDispatchAuthSaslStep (struct qemud
const char *serverout;
unsigned int serveroutlen;
int err;
+
+ pthread_mutex_lock(&server->lock);
+ pthread_mutex_lock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
REMOTE_DEBUG("Step SASL auth %d", client->fd);
if (client->auth != REMOTE_AUTH_SASL ||
client->saslconn == NULL) {
qemudLog(QEMUD_ERR, "%s", _("client tried invalid SASL start
request"));
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
REMOTE_DEBUG("Using SASL Data %d bytes, nil: %d",
@@ -2834,8 +2903,7 @@ remoteDispatchAuthSaslStep (struct qemud
err, sasl_errdetail(client->saslconn));
sasl_dispose(&client->saslconn);
client->saslconn = NULL;
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
if (serveroutlen > REMOTE_AUTH_SASL_DATA_MAX) {
@@ -2843,15 +2911,14 @@ remoteDispatchAuthSaslStep (struct qemud
serveroutlen);
sasl_dispose(&client->saslconn);
client->saslconn = NULL;
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
/* NB, distinction of NULL vs "" is *critical* in SASL */
if (serverout) {
if (VIR_ALLOC_N(ret->data.data_val, serveroutlen) < 0) {
remoteDispatchOOMError(rerr);
- return -1;
+ goto error;
}
memcpy(ret->data.data_val, serverout, serveroutlen);
} else {
@@ -2865,25 +2932,33 @@ remoteDispatchAuthSaslStep (struct qemud
ret->complete = 0;
} else {
if (remoteSASLCheckSSF(client, rerr) < 0)
- return -1;
+ goto error;
/* Check username whitelist ACL */
if (remoteSASLCheckAccess(server, client, rerr) < 0)
- return -1;
+ goto error;
REMOTE_DEBUG("Authentication successful %d", client->fd);
ret->complete = 1;
client->auth = REMOTE_AUTH_NONE;
}
- return 0;
+ pthread_mutex_unlock(&client->lock);
+ return 0;
+
+authfail:
+ remoteDispatchAuthError(rerr);
+error:
+ pthread_mutex_unlock(&client->lock);
+ return -1;
}
#else /* HAVE_SASL */
static int
remoteDispatchAuthSaslInit (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_auth_sasl_init_ret *ret ATTRIBUTE_UNUSED)
@@ -2895,7 +2970,8 @@ remoteDispatchAuthSaslInit (struct qemud
static int
remoteDispatchAuthSaslStart (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
remote_error *rerr,
remote_auth_sasl_start_args *args ATTRIBUTE_UNUSED,
remote_auth_sasl_start_ret *ret ATTRIBUTE_UNUSED)
@@ -2907,7 +2983,8 @@ remoteDispatchAuthSaslStart (struct qemu
static int
remoteDispatchAuthSaslStep (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
remote_error *rerr,
remote_auth_sasl_step_args *args ATTRIBUTE_UNUSED,
remote_auth_sasl_step_ret *ret ATTRIBUTE_UNUSED)
@@ -2921,8 +2998,9 @@ remoteDispatchAuthSaslStep (struct qemud
#if HAVE_POLKIT
static int
-remoteDispatchAuthPolkit (struct qemud_server *server ATTRIBUTE_UNUSED,
+remoteDispatchAuthPolkit (struct qemud_server *server,
struct qemud_client *client,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_auth_polkit_ret *ret)
@@ -2935,7 +3013,13 @@ remoteDispatchAuthPolkit (struct qemud_s
PolKitError *pkerr = NULL;
PolKitResult pkresult;
DBusError err;
- const char *action = client->readonly ?
+ const char *action;
+
+ pthread_mutex_lock(&server->lock);
+ pthread_mutex_lock(&client->lock);
+ pthread_mutex_unlock(&server->lock);
+
+ action = client->readonly ?
"org.libvirt.unix.monitor" :
"org.libvirt.unix.manage";
@@ -2943,14 +3027,12 @@ remoteDispatchAuthPolkit (struct qemud_s
if (client->auth != REMOTE_AUTH_POLKIT) {
qemudLog(QEMUD_ERR,
"%s", _("client tried invalid PolicyKit init
request"));
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
if (qemudGetSocketIdentity(client->fd, &callerUid, &callerPid) < 0) {
qemudLog(QEMUD_ERR, "%s", _("cannot get peer socket
identity"));
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
qemudLog(QEMUD_INFO, _("Checking PID %d running as %d"),
@@ -2961,16 +3043,14 @@ remoteDispatchAuthPolkit (struct qemud_s
qemudLog(QEMUD_ERR, _("Failed to lookup policy kit caller: %s"),
err.message);
dbus_error_free(&err);
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
if (!(pkaction = polkit_action_new())) {
qemudLog(QEMUD_ERR, _("Failed to create polkit action %s\n"),
strerror(errno));
polkit_caller_unref(pkcaller);
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
polkit_action_set_action_id(pkaction, action);
@@ -2984,8 +3064,7 @@ remoteDispatchAuthPolkit (struct qemud_s
polkit_caller_unref(pkcaller);
polkit_action_unref(pkaction);
dbus_error_free(&err);
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
#if HAVE_POLKIT_CONTEXT_IS_CALLER_AUTHORIZED
@@ -2999,8 +3078,7 @@ remoteDispatchAuthPolkit (struct qemud_s
_("Policy kit failed to check authorization %d %s"),
polkit_error_get_error_code(pkerr),
polkit_error_get_error_message(pkerr));
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
#else
pkresult = polkit_context_can_caller_do_action(pkcontext,
@@ -3016,8 +3094,7 @@ remoteDispatchAuthPolkit (struct qemud_s
" result: %s\n"),
action, callerPid, callerUid,
polkit_result_to_string_representation(pkresult));
- remoteDispatchAuthError(rerr);
- return -1;
+ goto authfail;
}
qemudLog(QEMUD_INFO,
_("Policy allowed action %s from pid %d, uid %d, result %s"),
@@ -3026,14 +3103,21 @@ remoteDispatchAuthPolkit (struct qemud_s
ret->complete = 1;
client->auth = REMOTE_AUTH_NONE;
- return 0;
+ pthread_mutex_unlock(&client->lock);
+ return 0;
+
+authfail:
+ remoteDispatchAuthError(rerr);
+ pthread_mutex_unlock(&client->lock);
+ return -1;
}
#else /* HAVE_POLKIT */
static int
remoteDispatchAuthPolkit (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_auth_polkit_ret *ret ATTRIBUTE_UNUSED)
@@ -3053,12 +3137,12 @@ remoteDispatchAuthPolkit (struct qemud_s
static int
remoteDispatchListDefinedStoragePools (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_list_defined_storage_pools_args *args,
remote_list_defined_storage_pools_ret *ret)
{
- CHECK_CONN(client);
if (args->maxnames > REMOTE_NETWORK_NAME_LIST_MAX) {
remoteDispatchFormatError (rerr,
@@ -3073,11 +3157,11 @@ remoteDispatchListDefinedStoragePools (s
}
ret->names.names_len =
- virConnectListDefinedStoragePools (client->conn,
+ virConnectListDefinedStoragePools (conn,
ret->names.names_val, args->maxnames);
if (ret->names.names_len == -1) {
VIR_FREE(ret->names.names_val);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3086,12 +3170,12 @@ remoteDispatchListDefinedStoragePools (s
static int
remoteDispatchListStoragePools (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_list_storage_pools_args *args,
remote_list_storage_pools_ret *ret)
{
- CHECK_CONN(client);
if (args->maxnames > REMOTE_STORAGE_POOL_NAME_LIST_MAX) {
remoteDispatchFormatError (rerr,
@@ -3106,11 +3190,11 @@ remoteDispatchListStoragePools (struct q
}
ret->names.names_len =
- virConnectListStoragePools (client->conn,
+ virConnectListStoragePools (conn,
ret->names.names_val, args->maxnames);
if (ret->names.names_len == -1) {
VIR_FREE(ret->names.names_val);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3119,20 +3203,19 @@ remoteDispatchListStoragePools (struct q
static int
remoteDispatchFindStoragePoolSources (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_find_storage_pool_sources_args *args,
remote_find_storage_pool_sources_ret *ret)
{
- CHECK_CONN(client);
-
ret->xml =
- virConnectFindStoragePoolSources (client->conn,
+ virConnectFindStoragePoolSources (conn,
args->type,
args->srcSpec ? *args->srcSpec : NULL,
args->flags);
if (ret->xml == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3142,23 +3225,23 @@ remoteDispatchFindStoragePoolSources (st
static int
remoteDispatchStoragePoolCreate (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_create_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStoragePoolCreate (pool, args->flags) == -1) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStoragePoolFree(pool);
@@ -3167,17 +3250,17 @@ remoteDispatchStoragePoolCreate (struct
static int
remoteDispatchStoragePoolCreateXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_create_xml_args *args,
remote_storage_pool_create_xml_ret *ret)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = virStoragePoolCreateXML (client->conn, args->xml, args->flags);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = virStoragePoolCreateXML (conn, args->xml, args->flags);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3188,17 +3271,17 @@ remoteDispatchStoragePoolCreateXml (stru
static int
remoteDispatchStoragePoolDefineXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_define_xml_args *args,
remote_storage_pool_define_xml_ret *ret)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = virStoragePoolDefineXML (client->conn, args->xml, args->flags);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = virStoragePoolDefineXML (conn, args->xml, args->flags);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3209,23 +3292,23 @@ remoteDispatchStoragePoolDefineXml (stru
static int
remoteDispatchStoragePoolBuild (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_build_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStoragePoolBuild (pool, args->flags) == -1) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStoragePoolFree(pool);
@@ -3235,23 +3318,23 @@ remoteDispatchStoragePoolBuild (struct q
static int
remoteDispatchStoragePoolDestroy (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_destroy_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStoragePoolDestroy (pool) == -1) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStoragePoolFree(pool);
@@ -3260,23 +3343,23 @@ remoteDispatchStoragePoolDestroy (struct
static int
remoteDispatchStoragePoolDelete (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_delete_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStoragePoolDelete (pool, args->flags) == -1) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStoragePoolFree(pool);
@@ -3285,23 +3368,23 @@ remoteDispatchStoragePoolDelete (struct
static int
remoteDispatchStoragePoolRefresh (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_refresh_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStoragePoolRefresh (pool, args->flags) == -1) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStoragePoolFree(pool);
@@ -3310,24 +3393,24 @@ remoteDispatchStoragePoolRefresh (struct
static int
remoteDispatchStoragePoolGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_get_info_args *args,
remote_storage_pool_get_info_ret *ret)
{
virStoragePoolPtr pool;
virStoragePoolInfo info;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStoragePoolGetInfo (pool, &info) == -1) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3343,17 +3426,17 @@ remoteDispatchStoragePoolGetInfo (struct
static int
remoteDispatchStoragePoolDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_dump_xml_args *args,
remote_storage_pool_dump_xml_ret *ret)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3361,7 +3444,7 @@ remoteDispatchStoragePoolDumpXml (struct
ret->xml = virStoragePoolGetXMLDesc (pool, args->flags);
if (!ret->xml) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStoragePoolFree(pool);
@@ -3370,23 +3453,23 @@ remoteDispatchStoragePoolDumpXml (struct
static int
remoteDispatchStoragePoolGetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_get_autostart_args *args,
remote_storage_pool_get_autostart_ret *ret)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStoragePoolGetAutostart (pool, &ret->autostart) == -1) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStoragePoolFree(pool);
@@ -3396,17 +3479,17 @@ remoteDispatchStoragePoolGetAutostart (s
static int
remoteDispatchStoragePoolLookupByName (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_lookup_by_name_args *args,
remote_storage_pool_lookup_by_name_ret *ret)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = virStoragePoolLookupByName (client->conn, args->name);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = virStoragePoolLookupByName (conn, args->name);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3417,17 +3500,17 @@ remoteDispatchStoragePoolLookupByName (s
static int
remoteDispatchStoragePoolLookupByUuid (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_lookup_by_uuid_args *args,
remote_storage_pool_lookup_by_uuid_ret *ret)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = virStoragePoolLookupByUUID (client->conn, (unsigned char *)
args->uuid);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = virStoragePoolLookupByUUID (conn, (unsigned char *) args->uuid);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3438,25 +3521,25 @@ remoteDispatchStoragePoolLookupByUuid (s
static int
remoteDispatchStoragePoolLookupByVolume (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_lookup_by_volume_args
*args,
remote_storage_pool_lookup_by_volume_ret *ret)
{
virStoragePoolPtr pool;
virStorageVolPtr vol;
- CHECK_CONN(client);
-
- vol = get_nonnull_storage_vol (client->conn, args->vol);
- if (vol == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ vol = get_nonnull_storage_vol (conn, args->vol);
+ if (vol == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
pool = virStoragePoolLookupByVolume (vol);
virStorageVolFree(vol);
if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3467,23 +3550,23 @@ remoteDispatchStoragePoolLookupByVolume
static int
remoteDispatchStoragePoolSetAutostart (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_set_autostart_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStoragePoolSetAutostart (pool, args->autostart) == -1) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStoragePoolFree(pool);
@@ -3492,23 +3575,23 @@ remoteDispatchStoragePoolSetAutostart (s
static int
remoteDispatchStoragePoolUndefine (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_undefine_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStoragePoolUndefine (pool) == -1) {
virStoragePoolFree(pool);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStoragePoolFree(pool);
@@ -3517,16 +3600,16 @@ remoteDispatchStoragePoolUndefine (struc
static int
remoteDispatchNumOfStoragePools (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_num_of_storage_pools_ret *ret)
{
- CHECK_CONN(client);
-
- ret->num = virConnectNumOfStoragePools (client->conn);
- if (ret->num == -1) {
- remoteDispatchConnError(rerr, client->conn);
+
+ ret->num = virConnectNumOfStoragePools (conn);
+ if (ret->num == -1) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3535,16 +3618,16 @@ remoteDispatchNumOfStoragePools (struct
static int
remoteDispatchNumOfDefinedStoragePools (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
void *args ATTRIBUTE_UNUSED,
remote_num_of_defined_storage_pools_ret *ret)
{
- CHECK_CONN(client);
-
- ret->num = virConnectNumOfDefinedStoragePools (client->conn);
- if (ret->num == -1) {
- remoteDispatchConnError(rerr, client->conn);
+
+ ret->num = virConnectNumOfDefinedStoragePools (conn);
+ if (ret->num == -1) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3553,13 +3636,13 @@ remoteDispatchNumOfDefinedStoragePools (
static int
remoteDispatchStoragePoolListVolumes (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_list_volumes_args *args,
remote_storage_pool_list_volumes_ret *ret)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
if (args->maxnames > REMOTE_STORAGE_VOL_NAME_LIST_MAX) {
remoteDispatchFormatError (rerr,
@@ -3567,9 +3650,9 @@ remoteDispatchStoragePoolListVolumes (st
return -1;
}
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3586,7 +3669,7 @@ remoteDispatchStoragePoolListVolumes (st
virStoragePoolFree(pool);
if (ret->names.names_len == -1) {
VIR_FREE(ret->names.names_val);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3596,24 +3679,24 @@ remoteDispatchStoragePoolListVolumes (st
static int
remoteDispatchStoragePoolNumOfVolumes (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_pool_num_of_volumes_args *args,
remote_storage_pool_num_of_volumes_ret *ret)
{
virStoragePoolPtr pool;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
ret->num = virStoragePoolNumOfVolumes (pool);
virStoragePoolFree(pool);
if (ret->num == -1) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3629,25 +3712,25 @@ remoteDispatchStoragePoolNumOfVolumes (s
static int
remoteDispatchStorageVolCreateXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_vol_create_xml_args *args,
remote_storage_vol_create_xml_ret *ret)
{
virStoragePoolPtr pool;
virStorageVolPtr vol;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
vol = virStorageVolCreateXML (pool, args->xml, args->flags);
virStoragePoolFree(pool);
if (vol == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3659,23 +3742,23 @@ remoteDispatchStorageVolCreateXml (struc
static int
remoteDispatchStorageVolDelete (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_vol_delete_args *args,
void *ret ATTRIBUTE_UNUSED)
{
virStorageVolPtr vol;
- CHECK_CONN(client);
-
- vol = get_nonnull_storage_vol (client->conn, args->vol);
- if (vol == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ vol = get_nonnull_storage_vol (conn, args->vol);
+ if (vol == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStorageVolDelete (vol, args->flags) == -1) {
virStorageVolFree(vol);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStorageVolFree(vol);
@@ -3684,24 +3767,24 @@ remoteDispatchStorageVolDelete (struct q
static int
remoteDispatchStorageVolGetInfo (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_vol_get_info_args *args,
remote_storage_vol_get_info_ret *ret)
{
virStorageVolPtr vol;
virStorageVolInfo info;
- CHECK_CONN(client);
-
- vol = get_nonnull_storage_vol (client->conn, args->vol);
- if (vol == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ vol = get_nonnull_storage_vol (conn, args->vol);
+ if (vol == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
if (virStorageVolGetInfo (vol, &info) == -1) {
virStorageVolFree(vol);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3716,17 +3799,17 @@ remoteDispatchStorageVolGetInfo (struct
static int
remoteDispatchStorageVolDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_vol_dump_xml_args *args,
remote_storage_vol_dump_xml_ret *ret)
{
virStorageVolPtr vol;
- CHECK_CONN(client);
-
- vol = get_nonnull_storage_vol (client->conn, args->vol);
- if (vol == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ vol = get_nonnull_storage_vol (conn, args->vol);
+ if (vol == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3734,7 +3817,7 @@ remoteDispatchStorageVolDumpXml (struct
ret->xml = virStorageVolGetXMLDesc (vol, args->flags);
if (!ret->xml) {
virStorageVolFree(vol);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStorageVolFree(vol);
@@ -3744,17 +3827,17 @@ remoteDispatchStorageVolDumpXml (struct
static int
remoteDispatchStorageVolGetPath (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_vol_get_path_args *args,
remote_storage_vol_get_path_ret *ret)
{
virStorageVolPtr vol;
- CHECK_CONN(client);
-
- vol = get_nonnull_storage_vol (client->conn, args->vol);
- if (vol == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ vol = get_nonnull_storage_vol (conn, args->vol);
+ if (vol == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3762,7 +3845,7 @@ remoteDispatchStorageVolGetPath (struct
ret->name = virStorageVolGetPath (vol);
if (!ret->name) {
virStorageVolFree(vol);
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
virStorageVolFree(vol);
@@ -3772,25 +3855,25 @@ remoteDispatchStorageVolGetPath (struct
static int
remoteDispatchStorageVolLookupByName (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_vol_lookup_by_name_args *args,
remote_storage_vol_lookup_by_name_ret *ret)
{
virStoragePoolPtr pool;
virStorageVolPtr vol;
- CHECK_CONN(client);
-
- pool = get_nonnull_storage_pool (client->conn, args->pool);
- if (pool == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ pool = get_nonnull_storage_pool (conn, args->pool);
+ if (pool == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
vol = virStorageVolLookupByName (pool, args->name);
virStoragePoolFree(pool);
if (vol == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3801,17 +3884,17 @@ remoteDispatchStorageVolLookupByName (st
static int
remoteDispatchStorageVolLookupByKey (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_vol_lookup_by_key_args *args,
remote_storage_vol_lookup_by_key_ret *ret)
{
virStorageVolPtr vol;
- CHECK_CONN(client);
-
- vol = virStorageVolLookupByKey (client->conn, args->key);
- if (vol == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ vol = virStorageVolLookupByKey (conn, args->key);
+ if (vol == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3823,17 +3906,17 @@ remoteDispatchStorageVolLookupByKey (str
static int
remoteDispatchStorageVolLookupByPath (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_storage_vol_lookup_by_path_args *args,
remote_storage_vol_lookup_by_path_ret *ret)
{
virStorageVolPtr vol;
- CHECK_CONN(client);
-
- vol = virStorageVolLookupByPath (client->conn, args->path);
- if (vol == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+
+ vol = virStorageVolLookupByPath (conn, args->path);
+ if (vol == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3849,18 +3932,19 @@ remoteDispatchStorageVolLookupByPath (st
static int
remoteDispatchNodeNumOfDevices (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_node_num_of_devices_args *args,
remote_node_num_of_devices_ret *ret)
{
CHECK_CONN(client);
- ret->num = virNodeNumOfDevices (client->conn,
+ ret->num = virNodeNumOfDevices (conn,
args->cap ? *args->cap : NULL,
args->flags);
if (ret->num == -1) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3870,7 +3954,8 @@ remoteDispatchNodeNumOfDevices (struct q
static int
remoteDispatchNodeListDevices (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_node_list_devices_args *args,
remote_node_list_devices_ret *ret)
@@ -3890,11 +3975,11 @@ remoteDispatchNodeListDevices (struct qe
}
ret->names.names_len =
- virNodeListDevices (client->conn,
+ virNodeListDevices (conn,
args->cap ? *args->cap : NULL,
ret->names.names_val, args->maxnames, args->flags);
if (ret->names.names_len == -1) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
VIR_FREE(ret->names.names_val);
return -1;
}
@@ -3905,7 +3990,8 @@ remoteDispatchNodeListDevices (struct qe
static int
remoteDispatchNodeDeviceLookupByName (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_node_device_lookup_by_name_args *args,
remote_node_device_lookup_by_name_ret *ret)
@@ -3914,9 +4000,9 @@ remoteDispatchNodeDeviceLookupByName (st
CHECK_CONN(client);
- dev = virNodeDeviceLookupByName (client->conn, args->name);
- if (dev == NULL) {
- remoteDispatchConnError(rerr, client->conn);
+ dev = virNodeDeviceLookupByName (conn, args->name);
+ if (dev == NULL) {
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -3928,7 +4014,8 @@ remoteDispatchNodeDeviceLookupByName (st
static int
remoteDispatchNodeDeviceDumpXml (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_node_device_dump_xml_args *args,
remote_node_device_dump_xml_ret *ret)
@@ -3936,7 +4023,7 @@ remoteDispatchNodeDeviceDumpXml (struct
virNodeDevicePtr dev;
CHECK_CONN(client);
- dev = virNodeDeviceLookupByName(client->conn, args->name);
+ dev = virNodeDeviceLookupByName(conn, args->name);
if (dev == NULL) {
remoteDispatchFormatError(rerr, "%s", _("node_device not
found"));
return -1;
@@ -3945,7 +4032,7 @@ remoteDispatchNodeDeviceDumpXml (struct
/* remoteDispatchClientRequest will free this. */
ret->xml = virNodeDeviceGetXMLDesc (dev, args->flags);
if (!ret->xml) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
virNodeDeviceFree(dev);
return -1;
}
@@ -3956,7 +4043,8 @@ remoteDispatchNodeDeviceDumpXml (struct
static int
remoteDispatchNodeDeviceGetParent (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_node_device_get_parent_args *args,
remote_node_device_get_parent_ret *ret)
@@ -3965,7 +4053,7 @@ remoteDispatchNodeDeviceGetParent (struc
const char *parent;
CHECK_CONN(client);
- dev = virNodeDeviceLookupByName(client->conn, args->name);
+ dev = virNodeDeviceLookupByName(conn, args->name);
if (dev == NULL) {
remoteDispatchFormatError(rerr, "%s", _("node_device not
found"));
return -1;
@@ -3997,7 +4085,8 @@ remoteDispatchNodeDeviceGetParent (struc
static int
remoteDispatchNodeDeviceNumOfCaps (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_node_device_num_of_caps_args *args,
remote_node_device_num_of_caps_ret *ret)
@@ -4005,7 +4094,7 @@ remoteDispatchNodeDeviceNumOfCaps (struc
virNodeDevicePtr dev;
CHECK_CONN(client);
- dev = virNodeDeviceLookupByName(client->conn, args->name);
+ dev = virNodeDeviceLookupByName(conn, args->name);
if (dev == NULL) {
remoteDispatchFormatError(rerr, "%s", _("node_device not
found"));
return -1;
@@ -4013,7 +4102,7 @@ remoteDispatchNodeDeviceNumOfCaps (struc
ret->num = virNodeDeviceNumOfCaps(dev);
if (ret->num < 0) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
return -1;
}
@@ -4024,7 +4113,8 @@ remoteDispatchNodeDeviceNumOfCaps (struc
static int
remoteDispatchNodeDeviceListCaps (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr,
remote_node_device_list_caps_args *args,
remote_node_device_list_caps_ret *ret)
@@ -4032,7 +4122,7 @@ remoteDispatchNodeDeviceListCaps (struct
virNodeDevicePtr dev;
CHECK_CONN(client);
- dev = virNodeDeviceLookupByName(client->conn, args->name);
+ dev = virNodeDeviceLookupByName(conn, args->name);
if (dev == NULL) {
remoteDispatchFormatError(rerr, "%s", _("node_device not
found"));
return -1;
@@ -4054,7 +4144,7 @@ remoteDispatchNodeDeviceListCaps (struct
virNodeDeviceListCaps (dev, ret->names.names_val,
args->maxnames);
if (ret->names.names_len == -1) {
- remoteDispatchConnError(rerr, client->conn);
+ remoteDispatchConnError(rerr, conn);
VIR_FREE(ret->names.names_val);
return -1;
}
@@ -4069,6 +4159,7 @@ static int
static int
remoteDispatchDomainEvent (struct qemud_server *server ATTRIBUTE_UNUSED,
struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn ATTRIBUTE_UNUSED,
remote_error *rerr ATTRIBUTE_UNUSED,
void *args ATTRIBUTE_UNUSED,
remote_domain_event_ret *ret ATTRIBUTE_UNUSED)
@@ -4086,7 +4177,8 @@ remoteDispatchDomainEvent (struct qemud_
***************************/
static int
remoteDispatchDomainEventsRegister (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr ATTRIBUTE_UNUSED,
void *args ATTRIBUTE_UNUSED,
remote_domain_events_register_ret *ret
ATTRIBUTE_UNUSED)
@@ -4095,7 +4187,7 @@ remoteDispatchDomainEventsRegister (stru
/* Register event delivery callback */
REMOTE_DEBUG("%s","Registering to relay remote events");
- virConnectDomainEventRegister(client->conn, remoteRelayDomainEvent, client,
NULL);
+ virConnectDomainEventRegister(conn, remoteRelayDomainEvent, client, NULL);
if(ret)
ret->cb_registered = 1;
@@ -4104,7 +4196,8 @@ remoteDispatchDomainEventsRegister (stru
static int
remoteDispatchDomainEventsDeregister (struct qemud_server *server ATTRIBUTE_UNUSED,
- struct qemud_client *client,
+ struct qemud_client *client ATTRIBUTE_UNUSED,
+ virConnectPtr conn,
remote_error *rerr ATTRIBUTE_UNUSED,
void *args ATTRIBUTE_UNUSED,
remote_domain_events_deregister_ret *ret
ATTRIBUTE_UNUSED)
@@ -4113,7 +4206,7 @@ remoteDispatchDomainEventsDeregister (st
/* Deregister event delivery callback */
REMOTE_DEBUG("%s","Deregistering to relay remote events");
- virConnectDomainEventDeregister(client->conn, remoteRelayDomainEvent);
+ virConnectDomainEventDeregister(conn, remoteRelayDomainEvent);
if(ret)
ret->cb_registered = 0;
diff --git a/qemud/remote_dispatch_prototypes.h b/qemud/remote_dispatch_prototypes.h
--- a/qemud/remote_dispatch_prototypes.h
+++ b/qemud/remote_dispatch_prototypes.h
@@ -2,120 +2,822 @@
* Do not edit this file. Any changes you make will be lost.
*/
-static int remoteDispatchAuthList (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_auth_list_ret *ret);
-static int remoteDispatchAuthPolkit (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_auth_polkit_ret *ret);
-static int remoteDispatchAuthSaslInit (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_auth_sasl_init_ret *ret);
-static int remoteDispatchAuthSaslStart (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_auth_sasl_start_args *args, remote_auth_sasl_start_ret
*ret);
-static int remoteDispatchAuthSaslStep (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_auth_sasl_step_args *args, remote_auth_sasl_step_ret
*ret);
-static int remoteDispatchClose (struct qemud_server *server, struct qemud_client *client,
remote_error *err, void *args, void *ret);
-static int remoteDispatchDomainAttachDevice (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_attach_device_args *args, void
*ret);
-static int remoteDispatchDomainBlockPeek (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_block_peek_args *args,
remote_domain_block_peek_ret *ret);
-static int remoteDispatchDomainBlockStats (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_block_stats_args *args,
remote_domain_block_stats_ret *ret);
-static int remoteDispatchDomainCoreDump (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_core_dump_args *args, void *ret);
-static int remoteDispatchDomainCreate (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_create_args *args, void *ret);
-static int remoteDispatchDomainCreateXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_create_xml_args *args,
remote_domain_create_xml_ret *ret);
-static int remoteDispatchDomainDefineXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_define_xml_args *args,
remote_domain_define_xml_ret *ret);
-static int remoteDispatchDomainDestroy (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_destroy_args *args, void *ret);
-static int remoteDispatchDomainDetachDevice (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_detach_device_args *args, void
*ret);
-static int remoteDispatchDomainDumpXml (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_dump_xml_args *args, remote_domain_dump_xml_ret
*ret);
-static int remoteDispatchDomainEvent (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_domain_event_ret *ret);
-static int remoteDispatchDomainEventsDeregister (struct qemud_server *server, struct
qemud_client *client, remote_error *err, void *args, remote_domain_events_deregister_ret
*ret);
-static int remoteDispatchDomainEventsRegister (struct qemud_server *server, struct
qemud_client *client, remote_error *err, void *args, remote_domain_events_register_ret
*ret);
-static int remoteDispatchDomainGetAutostart (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_get_autostart_args *args,
remote_domain_get_autostart_ret *ret);
-static int remoteDispatchDomainGetInfo (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_get_info_args *args, remote_domain_get_info_ret
*ret);
-static int remoteDispatchDomainGetMaxMemory (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_get_max_memory_args *args,
remote_domain_get_max_memory_ret *ret);
-static int remoteDispatchDomainGetMaxVcpus (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_get_max_vcpus_args *args,
remote_domain_get_max_vcpus_ret *ret);
-static int remoteDispatchDomainGetOsType (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_get_os_type_args *args,
remote_domain_get_os_type_ret *ret);
-static int remoteDispatchDomainGetSchedulerParameters (struct qemud_server *server,
struct qemud_client *client, remote_error *err,
remote_domain_get_scheduler_parameters_args *args,
remote_domain_get_scheduler_parameters_ret *ret);
-static int remoteDispatchDomainGetSchedulerType (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_get_scheduler_type_args *args,
remote_domain_get_scheduler_type_ret *ret);
-static int remoteDispatchDomainGetVcpus (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_get_vcpus_args *args,
remote_domain_get_vcpus_ret *ret);
-static int remoteDispatchDomainInterfaceStats (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_interface_stats_args *args,
remote_domain_interface_stats_ret *ret);
-static int remoteDispatchDomainLookupById (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_lookup_by_id_args *args,
remote_domain_lookup_by_id_ret *ret);
-static int remoteDispatchDomainLookupByName (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_lookup_by_name_args *args,
remote_domain_lookup_by_name_ret *ret);
-static int remoteDispatchDomainLookupByUuid (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_lookup_by_uuid_args *args,
remote_domain_lookup_by_uuid_ret *ret);
-static int remoteDispatchDomainMemoryPeek (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_memory_peek_args *args,
remote_domain_memory_peek_ret *ret);
-static int remoteDispatchDomainMigrateFinish (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_migrate_finish_args *args,
remote_domain_migrate_finish_ret *ret);
-static int remoteDispatchDomainMigrateFinish2 (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_migrate_finish2_args *args,
remote_domain_migrate_finish2_ret *ret);
-static int remoteDispatchDomainMigratePerform (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_migrate_perform_args *args, void
*ret);
-static int remoteDispatchDomainMigratePrepare (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_migrate_prepare_args *args,
remote_domain_migrate_prepare_ret *ret);
-static int remoteDispatchDomainMigratePrepare2 (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_migrate_prepare2_args *args,
remote_domain_migrate_prepare2_ret *ret);
-static int remoteDispatchDomainPinVcpu (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_pin_vcpu_args *args, void *ret);
-static int remoteDispatchDomainReboot (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_reboot_args *args, void *ret);
-static int remoteDispatchDomainRestore (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_restore_args *args, void *ret);
-static int remoteDispatchDomainResume (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_resume_args *args, void *ret);
-static int remoteDispatchDomainSave (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_save_args *args, void *ret);
-static int remoteDispatchDomainSetAutostart (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_set_autostart_args *args, void
*ret);
-static int remoteDispatchDomainSetMaxMemory (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_set_max_memory_args *args, void
*ret);
-static int remoteDispatchDomainSetMemory (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_domain_set_memory_args *args, void *ret);
-static int remoteDispatchDomainSetSchedulerParameters (struct qemud_server *server,
struct qemud_client *client, remote_error *err,
remote_domain_set_scheduler_parameters_args *args, void *ret);
-static int remoteDispatchDomainSetVcpus (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_set_vcpus_args *args, void *ret);
-static int remoteDispatchDomainShutdown (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_shutdown_args *args, void *ret);
-static int remoteDispatchDomainSuspend (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_suspend_args *args, void *ret);
-static int remoteDispatchDomainUndefine (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_domain_undefine_args *args, void *ret);
-static int remoteDispatchFindStoragePoolSources (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_find_storage_pool_sources_args *args,
remote_find_storage_pool_sources_ret *ret);
-static int remoteDispatchGetCapabilities (struct qemud_server *server, struct
qemud_client *client, remote_error *err, void *args, remote_get_capabilities_ret *ret);
-static int remoteDispatchGetHostname (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_get_hostname_ret *ret);
-static int remoteDispatchGetMaxVcpus (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_get_max_vcpus_args *args, remote_get_max_vcpus_ret
*ret);
-static int remoteDispatchGetType (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_get_type_ret *ret);
-static int remoteDispatchGetUri (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_get_uri_ret *ret);
-static int remoteDispatchGetVersion (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_get_version_ret *ret);
-static int remoteDispatchListDefinedDomains (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_list_defined_domains_args *args,
remote_list_defined_domains_ret *ret);
-static int remoteDispatchListDefinedNetworks (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_list_defined_networks_args *args,
remote_list_defined_networks_ret *ret);
-static int remoteDispatchListDefinedStoragePools (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_list_defined_storage_pools_args *args,
remote_list_defined_storage_pools_ret *ret);
-static int remoteDispatchListDomains (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_list_domains_args *args, remote_list_domains_ret
*ret);
-static int remoteDispatchListNetworks (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_list_networks_args *args, remote_list_networks_ret
*ret);
-static int remoteDispatchListStoragePools (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_list_storage_pools_args *args,
remote_list_storage_pools_ret *ret);
-static int remoteDispatchNetworkCreate (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_network_create_args *args, void *ret);
-static int remoteDispatchNetworkCreateXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_network_create_xml_args *args,
remote_network_create_xml_ret *ret);
-static int remoteDispatchNetworkDefineXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_network_define_xml_args *args,
remote_network_define_xml_ret *ret);
-static int remoteDispatchNetworkDestroy (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_network_destroy_args *args, void *ret);
-static int remoteDispatchNetworkDumpXml (struct qemud_server *server, struct qemud_client
*client, remote_error *err, remote_network_dump_xml_args *args,
remote_network_dump_xml_ret *ret);
-static int remoteDispatchNetworkGetAutostart (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_network_get_autostart_args *args,
remote_network_get_autostart_ret *ret);
-static int remoteDispatchNetworkGetBridgeName (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_network_get_bridge_name_args *args,
remote_network_get_bridge_name_ret *ret);
-static int remoteDispatchNetworkLookupByName (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_network_lookup_by_name_args *args,
remote_network_lookup_by_name_ret *ret);
-static int remoteDispatchNetworkLookupByUuid (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_network_lookup_by_uuid_args *args,
remote_network_lookup_by_uuid_ret *ret);
-static int remoteDispatchNetworkSetAutostart (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_network_set_autostart_args *args, void
*ret);
-static int remoteDispatchNetworkUndefine (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_network_undefine_args *args, void *ret);
-static int remoteDispatchNodeDeviceDumpXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_node_device_dump_xml_args *args,
remote_node_device_dump_xml_ret *ret);
-static int remoteDispatchNodeDeviceGetParent (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_node_device_get_parent_args *args,
remote_node_device_get_parent_ret *ret);
-static int remoteDispatchNodeDeviceListCaps (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_node_device_list_caps_args *args,
remote_node_device_list_caps_ret *ret);
-static int remoteDispatchNodeDeviceLookupByName (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_node_device_lookup_by_name_args *args,
remote_node_device_lookup_by_name_ret *ret);
-static int remoteDispatchNodeDeviceNumOfCaps (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_node_device_num_of_caps_args *args,
remote_node_device_num_of_caps_ret *ret);
-static int remoteDispatchNodeGetCellsFreeMemory (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_node_get_cells_free_memory_args *args,
remote_node_get_cells_free_memory_ret *ret);
-static int remoteDispatchNodeGetFreeMemory (struct qemud_server *server, struct
qemud_client *client, remote_error *err, void *args, remote_node_get_free_memory_ret
*ret);
-static int remoteDispatchNodeGetInfo (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_node_get_info_ret *ret);
-static int remoteDispatchNodeListDevices (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_node_list_devices_args *args,
remote_node_list_devices_ret *ret);
-static int remoteDispatchNodeNumOfDevices (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_node_num_of_devices_args *args,
remote_node_num_of_devices_ret *ret);
-static int remoteDispatchNumOfDefinedDomains (struct qemud_server *server, struct
qemud_client *client, remote_error *err, void *args, remote_num_of_defined_domains_ret
*ret);
-static int remoteDispatchNumOfDefinedNetworks (struct qemud_server *server, struct
qemud_client *client, remote_error *err, void *args, remote_num_of_defined_networks_ret
*ret);
-static int remoteDispatchNumOfDefinedStoragePools (struct qemud_server *server, struct
qemud_client *client, remote_error *err, void *args,
remote_num_of_defined_storage_pools_ret *ret);
-static int remoteDispatchNumOfDomains (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_num_of_domains_ret *ret);
-static int remoteDispatchNumOfNetworks (struct qemud_server *server, struct qemud_client
*client, remote_error *err, void *args, remote_num_of_networks_ret *ret);
-static int remoteDispatchNumOfStoragePools (struct qemud_server *server, struct
qemud_client *client, remote_error *err, void *args, remote_num_of_storage_pools_ret
*ret);
-static int remoteDispatchOpen (struct qemud_server *server, struct qemud_client *client,
remote_error *err, remote_open_args *args, void *ret);
-static int remoteDispatchStoragePoolBuild (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_build_args *args, void
*ret);
-static int remoteDispatchStoragePoolCreate (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_create_args *args, void
*ret);
-static int remoteDispatchStoragePoolCreateXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_create_xml_args *args,
remote_storage_pool_create_xml_ret *ret);
-static int remoteDispatchStoragePoolDefineXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_define_xml_args *args,
remote_storage_pool_define_xml_ret *ret);
-static int remoteDispatchStoragePoolDelete (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_delete_args *args, void
*ret);
-static int remoteDispatchStoragePoolDestroy (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_destroy_args *args, void
*ret);
-static int remoteDispatchStoragePoolDumpXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_dump_xml_args *args,
remote_storage_pool_dump_xml_ret *ret);
-static int remoteDispatchStoragePoolGetAutostart (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_get_autostart_args *args,
remote_storage_pool_get_autostart_ret *ret);
-static int remoteDispatchStoragePoolGetInfo (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_get_info_args *args,
remote_storage_pool_get_info_ret *ret);
-static int remoteDispatchStoragePoolListVolumes (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_list_volumes_args *args,
remote_storage_pool_list_volumes_ret *ret);
-static int remoteDispatchStoragePoolLookupByName (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_lookup_by_name_args *args,
remote_storage_pool_lookup_by_name_ret *ret);
-static int remoteDispatchStoragePoolLookupByUuid (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_lookup_by_uuid_args *args,
remote_storage_pool_lookup_by_uuid_ret *ret);
-static int remoteDispatchStoragePoolLookupByVolume (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_lookup_by_volume_args *args,
remote_storage_pool_lookup_by_volume_ret *ret);
-static int remoteDispatchStoragePoolNumOfVolumes (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_num_of_volumes_args *args,
remote_storage_pool_num_of_volumes_ret *ret);
-static int remoteDispatchStoragePoolRefresh (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_refresh_args *args, void
*ret);
-static int remoteDispatchStoragePoolSetAutostart (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_set_autostart_args *args,
void *ret);
-static int remoteDispatchStoragePoolUndefine (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_pool_undefine_args *args, void
*ret);
-static int remoteDispatchStorageVolCreateXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_vol_create_xml_args *args,
remote_storage_vol_create_xml_ret *ret);
-static int remoteDispatchStorageVolDelete (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_vol_delete_args *args, void
*ret);
-static int remoteDispatchStorageVolDumpXml (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_vol_dump_xml_args *args,
remote_storage_vol_dump_xml_ret *ret);
-static int remoteDispatchStorageVolGetInfo (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_vol_get_info_args *args,
remote_storage_vol_get_info_ret *ret);
-static int remoteDispatchStorageVolGetPath (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_vol_get_path_args *args,
remote_storage_vol_get_path_ret *ret);
-static int remoteDispatchStorageVolLookupByKey (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_vol_lookup_by_key_args *args,
remote_storage_vol_lookup_by_key_ret *ret);
-static int remoteDispatchStorageVolLookupByName (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_vol_lookup_by_name_args *args,
remote_storage_vol_lookup_by_name_ret *ret);
-static int remoteDispatchStorageVolLookupByPath (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_storage_vol_lookup_by_path_args *args,
remote_storage_vol_lookup_by_path_ret *ret);
-static int remoteDispatchSupportsFeature (struct qemud_server *server, struct
qemud_client *client, remote_error *err, remote_supports_feature_args *args,
remote_supports_feature_ret *ret);
+static int remoteDispatchAuthList(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_auth_list_ret *ret);
+static int remoteDispatchAuthPolkit(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_auth_polkit_ret *ret);
+static int remoteDispatchAuthSaslInit(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_auth_sasl_init_ret *ret);
+static int remoteDispatchAuthSaslStart(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_auth_sasl_start_args *args,
+ remote_auth_sasl_start_ret *ret);
+static int remoteDispatchAuthSaslStep(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_auth_sasl_step_args *args,
+ remote_auth_sasl_step_ret *ret);
+static int remoteDispatchClose(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ void *ret);
+static int remoteDispatchDomainAttachDevice(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_attach_device_args *args,
+ void *ret);
+static int remoteDispatchDomainBlockPeek(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_block_peek_args *args,
+ remote_domain_block_peek_ret *ret);
+static int remoteDispatchDomainBlockStats(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_block_stats_args *args,
+ remote_domain_block_stats_ret *ret);
+static int remoteDispatchDomainCoreDump(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_core_dump_args *args,
+ void *ret);
+static int remoteDispatchDomainCreate(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_create_args *args,
+ void *ret);
+static int remoteDispatchDomainCreateXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_create_xml_args *args,
+ remote_domain_create_xml_ret *ret);
+static int remoteDispatchDomainDefineXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_define_xml_args *args,
+ remote_domain_define_xml_ret *ret);
+static int remoteDispatchDomainDestroy(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_destroy_args *args,
+ void *ret);
+static int remoteDispatchDomainDetachDevice(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_detach_device_args *args,
+ void *ret);
+static int remoteDispatchDomainDumpXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_dump_xml_args *args,
+ remote_domain_dump_xml_ret *ret);
+static int remoteDispatchDomainEvent(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_domain_event_ret *ret);
+static int remoteDispatchDomainEventsDeregister(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_domain_events_deregister_ret *ret);
+static int remoteDispatchDomainEventsRegister(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_domain_events_register_ret *ret);
+static int remoteDispatchDomainGetAutostart(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_get_autostart_args *args,
+ remote_domain_get_autostart_ret *ret);
+static int remoteDispatchDomainGetInfo(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_get_info_args *args,
+ remote_domain_get_info_ret *ret);
+static int remoteDispatchDomainGetMaxMemory(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_get_max_memory_args *args,
+ remote_domain_get_max_memory_ret *ret);
+static int remoteDispatchDomainGetMaxVcpus(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_get_max_vcpus_args *args,
+ remote_domain_get_max_vcpus_ret *ret);
+static int remoteDispatchDomainGetOsType(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_get_os_type_args *args,
+ remote_domain_get_os_type_ret *ret);
+static int remoteDispatchDomainGetSchedulerParameters(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_get_scheduler_parameters_args *args,
+ remote_domain_get_scheduler_parameters_ret *ret);
+static int remoteDispatchDomainGetSchedulerType(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_get_scheduler_type_args *args,
+ remote_domain_get_scheduler_type_ret *ret);
+static int remoteDispatchDomainGetVcpus(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_get_vcpus_args *args,
+ remote_domain_get_vcpus_ret *ret);
+static int remoteDispatchDomainInterfaceStats(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_interface_stats_args *args,
+ remote_domain_interface_stats_ret *ret);
+static int remoteDispatchDomainLookupById(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_lookup_by_id_args *args,
+ remote_domain_lookup_by_id_ret *ret);
+static int remoteDispatchDomainLookupByName(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_lookup_by_name_args *args,
+ remote_domain_lookup_by_name_ret *ret);
+static int remoteDispatchDomainLookupByUuid(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_lookup_by_uuid_args *args,
+ remote_domain_lookup_by_uuid_ret *ret);
+static int remoteDispatchDomainMemoryPeek(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_memory_peek_args *args,
+ remote_domain_memory_peek_ret *ret);
+static int remoteDispatchDomainMigrateFinish(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_migrate_finish_args *args,
+ remote_domain_migrate_finish_ret *ret);
+static int remoteDispatchDomainMigrateFinish2(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_migrate_finish2_args *args,
+ remote_domain_migrate_finish2_ret *ret);
+static int remoteDispatchDomainMigratePerform(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_migrate_perform_args *args,
+ void *ret);
+static int remoteDispatchDomainMigratePrepare(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_migrate_prepare_args *args,
+ remote_domain_migrate_prepare_ret *ret);
+static int remoteDispatchDomainMigratePrepare2(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_migrate_prepare2_args *args,
+ remote_domain_migrate_prepare2_ret *ret);
+static int remoteDispatchDomainPinVcpu(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_pin_vcpu_args *args,
+ void *ret);
+static int remoteDispatchDomainReboot(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_reboot_args *args,
+ void *ret);
+static int remoteDispatchDomainRestore(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_restore_args *args,
+ void *ret);
+static int remoteDispatchDomainResume(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_resume_args *args,
+ void *ret);
+static int remoteDispatchDomainSave(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_save_args *args,
+ void *ret);
+static int remoteDispatchDomainSetAutostart(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_set_autostart_args *args,
+ void *ret);
+static int remoteDispatchDomainSetMaxMemory(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_set_max_memory_args *args,
+ void *ret);
+static int remoteDispatchDomainSetMemory(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_set_memory_args *args,
+ void *ret);
+static int remoteDispatchDomainSetSchedulerParameters(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_set_scheduler_parameters_args *args,
+ void *ret);
+static int remoteDispatchDomainSetVcpus(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_set_vcpus_args *args,
+ void *ret);
+static int remoteDispatchDomainShutdown(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_shutdown_args *args,
+ void *ret);
+static int remoteDispatchDomainSuspend(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_suspend_args *args,
+ void *ret);
+static int remoteDispatchDomainUndefine(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_domain_undefine_args *args,
+ void *ret);
+static int remoteDispatchFindStoragePoolSources(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_find_storage_pool_sources_args *args,
+ remote_find_storage_pool_sources_ret *ret);
+static int remoteDispatchGetCapabilities(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_get_capabilities_ret *ret);
+static int remoteDispatchGetHostname(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_get_hostname_ret *ret);
+static int remoteDispatchGetMaxVcpus(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_get_max_vcpus_args *args,
+ remote_get_max_vcpus_ret *ret);
+static int remoteDispatchGetType(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_get_type_ret *ret);
+static int remoteDispatchGetUri(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_get_uri_ret *ret);
+static int remoteDispatchGetVersion(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_get_version_ret *ret);
+static int remoteDispatchListDefinedDomains(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_list_defined_domains_args *args,
+ remote_list_defined_domains_ret *ret);
+static int remoteDispatchListDefinedNetworks(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_list_defined_networks_args *args,
+ remote_list_defined_networks_ret *ret);
+static int remoteDispatchListDefinedStoragePools(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_list_defined_storage_pools_args *args,
+ remote_list_defined_storage_pools_ret *ret);
+static int remoteDispatchListDomains(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_list_domains_args *args,
+ remote_list_domains_ret *ret);
+static int remoteDispatchListNetworks(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_list_networks_args *args,
+ remote_list_networks_ret *ret);
+static int remoteDispatchListStoragePools(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_list_storage_pools_args *args,
+ remote_list_storage_pools_ret *ret);
+static int remoteDispatchNetworkCreate(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_create_args *args,
+ void *ret);
+static int remoteDispatchNetworkCreateXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_create_xml_args *args,
+ remote_network_create_xml_ret *ret);
+static int remoteDispatchNetworkDefineXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_define_xml_args *args,
+ remote_network_define_xml_ret *ret);
+static int remoteDispatchNetworkDestroy(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_destroy_args *args,
+ void *ret);
+static int remoteDispatchNetworkDumpXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_dump_xml_args *args,
+ remote_network_dump_xml_ret *ret);
+static int remoteDispatchNetworkGetAutostart(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_get_autostart_args *args,
+ remote_network_get_autostart_ret *ret);
+static int remoteDispatchNetworkGetBridgeName(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_get_bridge_name_args *args,
+ remote_network_get_bridge_name_ret *ret);
+static int remoteDispatchNetworkLookupByName(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_lookup_by_name_args *args,
+ remote_network_lookup_by_name_ret *ret);
+static int remoteDispatchNetworkLookupByUuid(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_lookup_by_uuid_args *args,
+ remote_network_lookup_by_uuid_ret *ret);
+static int remoteDispatchNetworkSetAutostart(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_set_autostart_args *args,
+ void *ret);
+static int remoteDispatchNetworkUndefine(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_network_undefine_args *args,
+ void *ret);
+static int remoteDispatchNodeDeviceDumpXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_node_device_dump_xml_args *args,
+ remote_node_device_dump_xml_ret *ret);
+static int remoteDispatchNodeDeviceGetParent(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_node_device_get_parent_args *args,
+ remote_node_device_get_parent_ret *ret);
+static int remoteDispatchNodeDeviceListCaps(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_node_device_list_caps_args *args,
+ remote_node_device_list_caps_ret *ret);
+static int remoteDispatchNodeDeviceLookupByName(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_node_device_lookup_by_name_args *args,
+ remote_node_device_lookup_by_name_ret *ret);
+static int remoteDispatchNodeDeviceNumOfCaps(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_node_device_num_of_caps_args *args,
+ remote_node_device_num_of_caps_ret *ret);
+static int remoteDispatchNodeGetCellsFreeMemory(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_node_get_cells_free_memory_args *args,
+ remote_node_get_cells_free_memory_ret *ret);
+static int remoteDispatchNodeGetFreeMemory(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_node_get_free_memory_ret *ret);
+static int remoteDispatchNodeGetInfo(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_node_get_info_ret *ret);
+static int remoteDispatchNodeListDevices(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_node_list_devices_args *args,
+ remote_node_list_devices_ret *ret);
+static int remoteDispatchNodeNumOfDevices(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_node_num_of_devices_args *args,
+ remote_node_num_of_devices_ret *ret);
+static int remoteDispatchNumOfDefinedDomains(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_num_of_defined_domains_ret *ret);
+static int remoteDispatchNumOfDefinedNetworks(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_num_of_defined_networks_ret *ret);
+static int remoteDispatchNumOfDefinedStoragePools(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_num_of_defined_storage_pools_ret *ret);
+static int remoteDispatchNumOfDomains(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_num_of_domains_ret *ret);
+static int remoteDispatchNumOfNetworks(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_num_of_networks_ret *ret);
+static int remoteDispatchNumOfStoragePools(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ void *args,
+ remote_num_of_storage_pools_ret *ret);
+static int remoteDispatchOpen(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_open_args *args,
+ void *ret);
+static int remoteDispatchStoragePoolBuild(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_build_args *args,
+ void *ret);
+static int remoteDispatchStoragePoolCreate(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_create_args *args,
+ void *ret);
+static int remoteDispatchStoragePoolCreateXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_create_xml_args *args,
+ remote_storage_pool_create_xml_ret *ret);
+static int remoteDispatchStoragePoolDefineXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_define_xml_args *args,
+ remote_storage_pool_define_xml_ret *ret);
+static int remoteDispatchStoragePoolDelete(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_delete_args *args,
+ void *ret);
+static int remoteDispatchStoragePoolDestroy(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_destroy_args *args,
+ void *ret);
+static int remoteDispatchStoragePoolDumpXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_dump_xml_args *args,
+ remote_storage_pool_dump_xml_ret *ret);
+static int remoteDispatchStoragePoolGetAutostart(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_get_autostart_args *args,
+ remote_storage_pool_get_autostart_ret *ret);
+static int remoteDispatchStoragePoolGetInfo(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_get_info_args *args,
+ remote_storage_pool_get_info_ret *ret);
+static int remoteDispatchStoragePoolListVolumes(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_list_volumes_args *args,
+ remote_storage_pool_list_volumes_ret *ret);
+static int remoteDispatchStoragePoolLookupByName(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_lookup_by_name_args *args,
+ remote_storage_pool_lookup_by_name_ret *ret);
+static int remoteDispatchStoragePoolLookupByUuid(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_lookup_by_uuid_args *args,
+ remote_storage_pool_lookup_by_uuid_ret *ret);
+static int remoteDispatchStoragePoolLookupByVolume(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_lookup_by_volume_args *args,
+ remote_storage_pool_lookup_by_volume_ret *ret);
+static int remoteDispatchStoragePoolNumOfVolumes(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_num_of_volumes_args *args,
+ remote_storage_pool_num_of_volumes_ret *ret);
+static int remoteDispatchStoragePoolRefresh(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_refresh_args *args,
+ void *ret);
+static int remoteDispatchStoragePoolSetAutostart(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_set_autostart_args *args,
+ void *ret);
+static int remoteDispatchStoragePoolUndefine(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_pool_undefine_args *args,
+ void *ret);
+static int remoteDispatchStorageVolCreateXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_vol_create_xml_args *args,
+ remote_storage_vol_create_xml_ret *ret);
+static int remoteDispatchStorageVolDelete(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_vol_delete_args *args,
+ void *ret);
+static int remoteDispatchStorageVolDumpXml(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_vol_dump_xml_args *args,
+ remote_storage_vol_dump_xml_ret *ret);
+static int remoteDispatchStorageVolGetInfo(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_vol_get_info_args *args,
+ remote_storage_vol_get_info_ret *ret);
+static int remoteDispatchStorageVolGetPath(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_vol_get_path_args *args,
+ remote_storage_vol_get_path_ret *ret);
+static int remoteDispatchStorageVolLookupByKey(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_vol_lookup_by_key_args *args,
+ remote_storage_vol_lookup_by_key_ret *ret);
+static int remoteDispatchStorageVolLookupByName(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_vol_lookup_by_name_args *args,
+ remote_storage_vol_lookup_by_name_ret *ret);
+static int remoteDispatchStorageVolLookupByPath(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_storage_vol_lookup_by_path_args *args,
+ remote_storage_vol_lookup_by_path_ret *ret);
+static int remoteDispatchSupportsFeature(
+ struct qemud_server *server,
+ struct qemud_client *client,
+ virConnectPtr conn,
+ remote_error *err,
+ remote_supports_feature_args *args,
+ remote_supports_feature_ret *ret);
diff --git a/qemud/remote_generate_stubs.pl b/qemud/remote_generate_stubs.pl
--- a/qemud/remote_generate_stubs.pl
+++ b/qemud/remote_generate_stubs.pl
@@ -100,7 +100,13 @@ elsif ($opt_p) {
elsif ($opt_p) {
my @keys = sort (keys %calls);
foreach (@keys) {
- print "static int remoteDispatch$calls{$_}->{ProcName} (struct qemud_server
*server, struct qemud_client *client, remote_error *err, $calls{$_}->{args} *args,
$calls{$_}->{ret} *ret);\n";
+ print "static int remoteDispatch$calls{$_}->{ProcName}(\n";
+ print " struct qemud_server *server, \n";
+ print " struct qemud_client *client, \n";
+ print " virConnectPtr conn, \n";
+ print " remote_error *err, \n";
+ print " $calls{$_}->{args} *args,\n";
+ print " $calls{$_}->{ret} *ret);\n";
}
}
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|