mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-26 18:41:17 +00:00
Move code relating to vm/network lookups into conf.c
This commit is contained in:
parent
a041de159f
commit
133fdfe9e8
@ -1,3 +1,9 @@
|
|||||||
|
Tue Jun 26 18:41:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
|
* qemud/conf.c, qemud/conf.h, qemud/dispatch.c, qemud/driver.c,
|
||||||
|
qemud/driver.h: Move code related to looking up VMs/networks
|
||||||
|
into the conf.c
|
||||||
|
|
||||||
Tue Jun 26 18:35:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
|
Tue Jun 26 18:35:00 EST 2007 Daniel P. Berrange <berrange@redhat.com>
|
||||||
|
|
||||||
* qemud/conf.c, qemud/dispatch.c, qemud/driver.c, qemud/driver.h
|
* qemud/conf.c, qemud/dispatch.c, qemud/driver.c, qemud/driver.h
|
||||||
|
64
qemud/conf.c
64
qemud/conf.c
@ -66,6 +66,70 @@ void qemudReportError(virConnectPtr conn,
|
|||||||
NULL, NULL, NULL, -1, -1, errorMessage);
|
NULL, NULL, NULL, -1, -1, errorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct qemud_vm *qemudFindVMByID(const struct qemud_driver *driver, int id) {
|
||||||
|
struct qemud_vm *vm = driver->vms;
|
||||||
|
|
||||||
|
while (vm) {
|
||||||
|
if (qemudIsActiveVM(vm) && vm->id == id)
|
||||||
|
return vm;
|
||||||
|
vm = vm->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct qemud_vm *qemudFindVMByUUID(const struct qemud_driver *driver,
|
||||||
|
const unsigned char *uuid) {
|
||||||
|
struct qemud_vm *vm = driver->vms;
|
||||||
|
|
||||||
|
while (vm) {
|
||||||
|
if (!memcmp(vm->def->uuid, uuid, QEMUD_UUID_RAW_LEN))
|
||||||
|
return vm;
|
||||||
|
vm = vm->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct qemud_vm *qemudFindVMByName(const struct qemud_driver *driver,
|
||||||
|
const char *name) {
|
||||||
|
struct qemud_vm *vm = driver->vms;
|
||||||
|
|
||||||
|
while (vm) {
|
||||||
|
if (!strcmp(vm->def->name, name))
|
||||||
|
return vm;
|
||||||
|
vm = vm->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct qemud_network *qemudFindNetworkByUUID(const struct qemud_driver *driver,
|
||||||
|
const unsigned char *uuid) {
|
||||||
|
struct qemud_network *network = driver->networks;
|
||||||
|
|
||||||
|
while (network) {
|
||||||
|
if (!memcmp(network->def->uuid, uuid, QEMUD_UUID_RAW_LEN))
|
||||||
|
return network;
|
||||||
|
network = network->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct qemud_network *qemudFindNetworkByName(const struct qemud_driver *driver,
|
||||||
|
const char *name) {
|
||||||
|
struct qemud_network *network = driver->networks;
|
||||||
|
|
||||||
|
while (network) {
|
||||||
|
if (!strcmp(network->def->name, name))
|
||||||
|
return network;
|
||||||
|
network = network->next;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Free all memory associated with a struct qemud_vm object */
|
/* Free all memory associated with a struct qemud_vm object */
|
||||||
void qemudFreeVMDef(struct qemud_vm_def *def) {
|
void qemudFreeVMDef(struct qemud_vm_def *def) {
|
||||||
|
@ -24,6 +24,8 @@
|
|||||||
#ifndef __QEMUD_CONF_H
|
#ifndef __QEMUD_CONF_H
|
||||||
#define __QEMUD_CONF_H
|
#define __QEMUD_CONF_H
|
||||||
|
|
||||||
|
#include "../src/internal.h"
|
||||||
|
|
||||||
/* Different types of QEMU acceleration possible */
|
/* Different types of QEMU acceleration possible */
|
||||||
enum qemud_vm_virt_type {
|
enum qemud_vm_virt_type {
|
||||||
QEMUD_VIRT_QEMU,
|
QEMUD_VIRT_QEMU,
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
#include <libvirt/virterror.h>
|
#include <libvirt/virterror.h>
|
||||||
|
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
#include "../src/internal.h"
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
#include "dispatch.h"
|
#include "dispatch.h"
|
||||||
#include "conf.h"
|
#include "conf.h"
|
||||||
@ -105,15 +106,10 @@ qemudDispatchGetCapabilities (struct qemud_packet_client_data *in ATTRIBUTE_UNUS
|
|||||||
{
|
{
|
||||||
char *xml = qemudGetCapabilities(&conn);
|
char *xml = qemudGetCapabilities(&conn);
|
||||||
|
|
||||||
if (strlen(xml) > QEMUD_MAX_XML_LEN) {
|
|
||||||
qemudReportError(&conn, NULL, NULL, VIR_ERR_XML_ERROR, NULL);
|
|
||||||
qemudDispatchFailure(out);
|
|
||||||
free(xml);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
out->type = QEMUD_SERVER_PKT_GET_CAPABILITIES;
|
out->type = QEMUD_SERVER_PKT_GET_CAPABILITIES;
|
||||||
strcpy (out->qemud_packet_server_data_u.getCapabilitiesReply.xml, xml);
|
strncpy (out->qemud_packet_server_data_u.getCapabilitiesReply.xml, xml,
|
||||||
|
QEMUD_MAX_XML_LEN-1);
|
||||||
|
out->qemud_packet_server_data_u.getCapabilitiesReply.xml[QEMUD_MAX_XML_LEN-1] = '\0';
|
||||||
free(xml);
|
free(xml);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -915,7 +911,8 @@ int qemudDispatch(struct qemud_server *server ATTRIBUTE_UNUSED,
|
|||||||
|
|
||||||
if (!funcs[type]) {
|
if (!funcs[type]) {
|
||||||
qemudDebug("Illegal operation requested");
|
qemudDebug("Illegal operation requested");
|
||||||
qemudReportError(NULL, NULL, NULL, VIR_ERR_OPERATION_DENIED, NULL);
|
__virRaiseError(&conn, NULL, NULL, VIR_FROM_QEMU, VIR_ERR_OPERATION_DENIED, VIR_ERR_ERROR,
|
||||||
|
NULL, NULL, NULL, -1, -1, "Illegal operation requested");
|
||||||
qemudDispatchFailure(out);
|
qemudDispatchFailure(out);
|
||||||
} else {
|
} else {
|
||||||
if ((funcs[type])(in, out) < 0) {
|
if ((funcs[type])(in, out) < 0) {
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
#include "event.h"
|
#include "event.h"
|
||||||
#include "../src/buf.h"
|
#include "../src/buf.h"
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
|
#include "conf.h"
|
||||||
|
|
||||||
static int qemudSetCloseExec(int fd) {
|
static int qemudSetCloseExec(int fd) {
|
||||||
int flags;
|
int flags;
|
||||||
@ -82,6 +83,19 @@ static int qemudSetNonBlock(int fd) {
|
|||||||
|
|
||||||
|
|
||||||
static void qemudDispatchVMEvent(int fd, int events, void *opaque);
|
static void qemudDispatchVMEvent(int fd, int events, void *opaque);
|
||||||
|
int qemudStartVMDaemon(struct qemud_driver *driver,
|
||||||
|
struct qemud_vm *vm);
|
||||||
|
|
||||||
|
int qemudShutdownVMDaemon(struct qemud_driver *driver,
|
||||||
|
struct qemud_vm *vm);
|
||||||
|
|
||||||
|
int qemudStartNetworkDaemon(struct qemud_driver *driver,
|
||||||
|
struct qemud_network *network);
|
||||||
|
|
||||||
|
int qemudShutdownNetworkDaemon(struct qemud_driver *driver,
|
||||||
|
struct qemud_network *network);
|
||||||
|
|
||||||
|
struct qemud_driver *qemu_driver = NULL;
|
||||||
|
|
||||||
|
|
||||||
static
|
static
|
||||||
@ -120,8 +134,6 @@ void qemudAutostartConfigs(struct qemud_driver *driver) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct qemud_driver *qemu_driver = NULL;
|
|
||||||
|
|
||||||
int qemudStartup(void) {
|
int qemudStartup(void) {
|
||||||
uid_t uid = geteuid();
|
uid_t uid = geteuid();
|
||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
@ -720,6 +732,8 @@ static int qemudVMData(struct qemud_driver *driver ATTRIBUTE_UNUSED,
|
|||||||
strerror(errno));
|
strerror(errno));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qemudAutostartConfigs(qemu_driver);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -1662,43 +1676,6 @@ static int qemudGetProcessInfo(unsigned long long *cpuTime, int pid) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct qemud_vm *qemudFindVMByID(const struct qemud_driver *driver, int id) {
|
|
||||||
struct qemud_vm *vm = driver->vms;
|
|
||||||
|
|
||||||
while (vm) {
|
|
||||||
if (qemudIsActiveVM(vm) && vm->id == id)
|
|
||||||
return vm;
|
|
||||||
vm = vm->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct qemud_vm *qemudFindVMByUUID(const struct qemud_driver *driver,
|
|
||||||
const unsigned char *uuid) {
|
|
||||||
struct qemud_vm *vm = driver->vms;
|
|
||||||
|
|
||||||
while (vm) {
|
|
||||||
if (!memcmp(vm->def->uuid, uuid, QEMUD_UUID_RAW_LEN))
|
|
||||||
return vm;
|
|
||||||
vm = vm->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct qemud_vm *qemudFindVMByName(const struct qemud_driver *driver,
|
|
||||||
const char *name) {
|
|
||||||
struct qemud_vm *vm = driver->vms;
|
|
||||||
|
|
||||||
while (vm) {
|
|
||||||
if (!strcmp(vm->def->name, name))
|
|
||||||
return vm;
|
|
||||||
vm = vm->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
virDomainPtr qemudDomainLookupByID(virConnectPtr conn ATTRIBUTE_UNUSED,
|
virDomainPtr qemudDomainLookupByID(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||||
int id) {
|
int id) {
|
||||||
@ -2147,32 +2124,6 @@ int qemudDomainSetAutostart(virDomainPtr dom,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct qemud_network *qemudFindNetworkByUUID(const struct qemud_driver *driver,
|
|
||||||
const unsigned char *uuid) {
|
|
||||||
struct qemud_network *network = driver->networks;
|
|
||||||
|
|
||||||
while (network) {
|
|
||||||
if (!memcmp(network->def->uuid, uuid, QEMUD_UUID_RAW_LEN))
|
|
||||||
return network;
|
|
||||||
network = network->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct qemud_network *qemudFindNetworkByName(const struct qemud_driver *driver,
|
|
||||||
const char *name) {
|
|
||||||
struct qemud_network *network = driver->networks;
|
|
||||||
|
|
||||||
while (network) {
|
|
||||||
if (!strcmp(network->def->name, name))
|
|
||||||
return network;
|
|
||||||
network = network->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
virNetworkPtr qemudNetworkLookupByUUID(virConnectPtr conn ATTRIBUTE_UNUSED,
|
virNetworkPtr qemudNetworkLookupByUUID(virConnectPtr conn ATTRIBUTE_UNUSED,
|
||||||
const unsigned char *uuid) {
|
const unsigned char *uuid) {
|
||||||
struct qemud_driver *driver = (struct qemud_driver *)conn->privateData;
|
struct qemud_driver *driver = (struct qemud_driver *)conn->privateData;
|
||||||
|
@ -27,19 +27,6 @@
|
|||||||
|
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
#include "../src/internal.h"
|
#include "../src/internal.h"
|
||||||
#include "conf.h"
|
|
||||||
|
|
||||||
int qemudStartVMDaemon(struct qemud_driver *driver,
|
|
||||||
struct qemud_vm *vm);
|
|
||||||
|
|
||||||
int qemudShutdownVMDaemon(struct qemud_driver *driver,
|
|
||||||
struct qemud_vm *vm);
|
|
||||||
|
|
||||||
int qemudStartNetworkDaemon(struct qemud_driver *driver,
|
|
||||||
struct qemud_network *network);
|
|
||||||
|
|
||||||
int qemudShutdownNetworkDaemon(struct qemud_driver *driver,
|
|
||||||
struct qemud_network *network);
|
|
||||||
|
|
||||||
int qemudStartup(void);
|
int qemudStartup(void);
|
||||||
void qemudReload(void);
|
void qemudReload(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user