Rename all domain list APIs to have virDomainObjList prefix

The APIs names for accessing the domain list object are
very inconsistent. Rename them all to have a standard
virDomainObjList prefix.
This commit is contained in:
Daniel P. Berrange 2013-01-11 16:04:47 +00:00
parent b090aa7d55
commit 4f6ed6c33a
26 changed files with 664 additions and 631 deletions

View File

@ -776,18 +776,30 @@ virDomainObjListDataFree(void *payload, const void *name ATTRIBUTE_UNUSED)
virObjectUnref(obj);
}
int virDomainObjListInit(virDomainObjListPtr doms)
virDomainObjListPtr virDomainObjListNew(void)
{
virDomainObjListPtr doms;
if (VIR_ALLOC(doms) < 0) {
virReportOOMError();
return NULL;
}
doms->objs = virHashCreate(50, virDomainObjListDataFree);
if (!doms->objs)
return -1;
return 0;
if (!doms->objs) {
VIR_FREE(doms);
return NULL;
}
return doms;
}
void virDomainObjListDeinit(virDomainObjListPtr doms)
void virDomainObjListFree(virDomainObjListPtr doms)
{
if (!doms)
return;
virHashFree(doms->objs);
VIR_FREE(doms);
}
@ -807,7 +819,7 @@ static int virDomainObjListSearchID(const void *payload,
return want;
}
virDomainObjPtr virDomainFindByID(const virDomainObjListPtr doms,
virDomainObjPtr virDomainObjListFindByID(const virDomainObjListPtr doms,
int id)
{
virDomainObjPtr obj;
@ -818,7 +830,7 @@ virDomainObjPtr virDomainFindByID(const virDomainObjListPtr doms,
}
virDomainObjPtr virDomainFindByUUID(const virDomainObjListPtr doms,
virDomainObjPtr virDomainObjListFindByUUID(const virDomainObjListPtr doms,
const unsigned char *uuid)
{
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -846,7 +858,7 @@ static int virDomainObjListSearchName(const void *payload,
return want;
}
virDomainObjPtr virDomainFindByName(const virDomainObjListPtr doms,
virDomainObjPtr virDomainObjListFindByName(const virDomainObjListPtr doms,
const char *name)
{
virDomainObjPtr obj;
@ -1849,15 +1861,15 @@ void virDomainObjAssignDef(virDomainObjPtr domain,
}
}
virDomainObjPtr virDomainAssignDef(virCapsPtr caps,
virDomainObjListPtr doms,
virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
virCapsPtr caps,
const virDomainDefPtr def,
bool live)
{
virDomainObjPtr domain;
char uuidstr[VIR_UUID_STRING_BUFLEN];
if ((domain = virDomainFindByUUID(doms, def->uuid))) {
if ((domain = virDomainObjListFindByUUID(doms, def->uuid))) {
virDomainObjAssignDef(domain, def, live);
return domain;
}
@ -1989,7 +2001,7 @@ cleanup:
* and must also have locked 'dom', to ensure no one else
* is either waiting for 'dom' or still using it
*/
void virDomainRemoveInactive(virDomainObjListPtr doms,
void virDomainObjListRemove(virDomainObjListPtr doms,
virDomainObjPtr dom)
{
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -14782,8 +14794,9 @@ cleanup:
}
static virDomainObjPtr virDomainLoadConfig(virCapsPtr caps,
virDomainObjListPtr doms,
static virDomainObjPtr
virDomainObjListLoadConfig(virDomainObjListPtr doms,
virCapsPtr caps,
const char *configDir,
const char *autostartDir,
const char *name,
@ -14812,7 +14825,7 @@ static virDomainObjPtr virDomainLoadConfig(virCapsPtr caps,
/* if the domain is already in our hashtable, we only need to
* update the autostart flag
*/
if ((dom = virDomainFindByUUID(doms, def->uuid))) {
if ((dom = virDomainObjListFindByUUID(doms, def->uuid))) {
dom->autostart = autostart;
if (virDomainObjIsActive(dom) &&
@ -14827,7 +14840,7 @@ static virDomainObjPtr virDomainLoadConfig(virCapsPtr caps,
return dom;
}
if (!(dom = virDomainAssignDef(caps, doms, def, false)))
if (!(dom = virDomainObjListAdd(doms, caps, def, false)))
goto error;
dom->autostart = autostart;
@ -14846,8 +14859,9 @@ error:
return NULL;
}
static virDomainObjPtr virDomainLoadStatus(virCapsPtr caps,
virDomainObjListPtr doms,
static virDomainObjPtr
virDomainObjListLoadStatus(virDomainObjListPtr doms,
virCapsPtr caps,
const char *statusDir,
const char *name,
unsigned int expectedVirtTypes,
@ -14891,8 +14905,8 @@ error:
return NULL;
}
int virDomainLoadAllConfigs(virCapsPtr caps,
virDomainObjListPtr doms,
int virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
virCapsPtr caps,
const char *configDir,
const char *autostartDir,
int liveStatus,
@ -14927,16 +14941,16 @@ int virDomainLoadAllConfigs(virCapsPtr caps,
kill the whole process */
VIR_INFO("Loading config file '%s.xml'", entry->d_name);
if (liveStatus)
dom = virDomainLoadStatus(caps,
doms,
dom = virDomainObjListLoadStatus(doms,
caps,
configDir,
entry->d_name,
expectedVirtTypes,
notify,
opaque);
else
dom = virDomainLoadConfig(caps,
doms,
dom = virDomainObjListLoadConfig(doms,
caps,
configDir,
autostartDir,
entry->d_name,
@ -15053,7 +15067,7 @@ virDomainFSDefPtr virDomainGetRootFilesystem(virDomainDefPtr def)
}
/*
* virDomainObjIsDuplicate:
* virDomainObjListIsDuplicate:
* @doms : virDomainObjListPtr to search
* @def : virDomainDefPtr definition of domain to lookup
* @check_active: If true, ensure that domain is not active
@ -15063,7 +15077,7 @@ virDomainFSDefPtr virDomainGetRootFilesystem(virDomainDefPtr def)
* 1 if domain is a duplicate
*/
int
virDomainObjIsDuplicate(virDomainObjListPtr doms,
virDomainObjListIsDuplicate(virDomainObjListPtr doms,
virDomainDefPtr def,
unsigned int check_active)
{
@ -15072,7 +15086,7 @@ virDomainObjIsDuplicate(virDomainObjListPtr doms,
virDomainObjPtr vm = NULL;
/* See if a VM with matching UUID already exists */
vm = virDomainFindByUUID(doms, def->uuid);
vm = virDomainObjListFindByUUID(doms, def->uuid);
if (vm) {
/* UUID matches, but if names don't match, refuse it */
if (STRNEQ(vm->def->name, def->name)) {
@ -15097,7 +15111,7 @@ virDomainObjIsDuplicate(virDomainObjListPtr doms,
dupVM = 1;
} else {
/* UUID does not match, but if a name matches, refuse it */
vm = virDomainFindByName(doms, def->name);
vm = virDomainObjListFindByName(doms, def->name);
if (vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(vm->def->uuid, uuidstr);
@ -15973,8 +15987,8 @@ cleanup:
#undef MATCH
int
virDomainList(virConnectPtr conn,
virHashTablePtr domobjs,
virDomainObjListExport(virDomainObjListPtr doms,
virConnectPtr conn,
virDomainPtr **domains,
unsigned int flags)
{
@ -15984,13 +15998,13 @@ virDomainList(virConnectPtr conn,
struct virDomainListData data = { conn, NULL, flags, 0, false };
if (domains) {
if (VIR_ALLOC_N(data.domains, virHashSize(domobjs) + 1) < 0) {
if (VIR_ALLOC_N(data.domains, virHashSize(doms->objs) + 1) < 0) {
virReportOOMError();
goto cleanup;
}
}
virHashForEach(domobjs, virDomainListPopulate, &data);
virHashForEach(doms->objs, virDomainListPopulate, &data);
if (data.error)
goto cleanup;
@ -16006,7 +16020,7 @@ virDomainList(virConnectPtr conn,
cleanup:
if (data.domains) {
int count = virHashSize(domobjs);
int count = virHashSize(doms->objs);
for (i = 0; i < count; i++)
virObjectUnref(data.domains[i]);
}

View File

@ -1907,14 +1907,14 @@ virDomainObjIsActive(virDomainObjPtr dom)
virDomainObjPtr virDomainObjNew(virCapsPtr caps);
int virDomainObjListInit(virDomainObjListPtr objs);
void virDomainObjListDeinit(virDomainObjListPtr objs);
virDomainObjListPtr virDomainObjListNew(void);
void virDomainObjListFree(virDomainObjListPtr objs);
virDomainObjPtr virDomainFindByID(const virDomainObjListPtr doms,
virDomainObjPtr virDomainObjListFindByID(const virDomainObjListPtr doms,
int id);
virDomainObjPtr virDomainFindByUUID(const virDomainObjListPtr doms,
virDomainObjPtr virDomainObjListFindByUUID(const virDomainObjListPtr doms,
const unsigned char *uuid);
virDomainObjPtr virDomainFindByName(const virDomainObjListPtr doms,
virDomainObjPtr virDomainObjListFindByName(const virDomainObjListPtr doms,
const char *name);
bool virDomainObjTaint(virDomainObjPtr obj,
@ -1975,8 +1975,8 @@ virDomainChrDefPtr virDomainChrDefNew(void);
/* live == true means def describes an active domain (being migrated or
* restored) as opposed to a new persistent configuration of the domain */
virDomainObjPtr virDomainAssignDef(virCapsPtr caps,
virDomainObjListPtr doms,
virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
virCapsPtr caps,
const virDomainDefPtr def,
bool live);
void virDomainObjAssignDef(virDomainObjPtr domain,
@ -2000,7 +2000,7 @@ virDomainDefPtr virDomainDefCopy(virCapsPtr caps, virDomainDefPtr src,
virDomainDefPtr
virDomainObjCopyPersistentDef(virCapsPtr caps, virDomainObjPtr dom);
void virDomainRemoveInactive(virDomainObjListPtr doms,
void virDomainObjListRemove(virDomainObjListPtr doms,
virDomainObjPtr dom);
virDomainDeviceDefPtr virDomainDeviceDefParse(virCapsPtr caps,
@ -2138,8 +2138,8 @@ typedef void (*virDomainLoadConfigNotify)(virDomainObjPtr dom,
int newDomain,
void *opaque);
int virDomainLoadAllConfigs(virCapsPtr caps,
virDomainObjListPtr doms,
int virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
virCapsPtr caps,
const char *configDir,
const char *autostartDir,
int liveStatus,
@ -2163,7 +2163,7 @@ int virDomainFSIndexByName(virDomainDefPtr def, const char *name);
int virDomainVideoDefaultType(virDomainDefPtr def);
int virDomainVideoDefaultRAM(virDomainDefPtr def, int type);
int virDomainObjIsDuplicate(virDomainObjListPtr doms,
int virDomainObjListIsDuplicate(virDomainObjListPtr doms,
virDomainDefPtr def,
unsigned int check_active);
@ -2366,8 +2366,10 @@ VIR_ENUM_DECL(virDomainStartupPolicy)
VIR_CONNECT_LIST_DOMAINS_FILTERS_AUTOSTART | \
VIR_CONNECT_LIST_DOMAINS_FILTERS_SNAPSHOT)
int virDomainList(virConnectPtr conn, virHashTablePtr domobjs,
virDomainPtr **domains, unsigned int flags);
int virDomainObjListExport(virDomainObjListPtr doms,
virConnectPtr conn,
virDomainPtr **domains,
unsigned int flags);
virDomainVcpuPinDefPtr virDomainLookupVcpuPin(virDomainDefPtr def,
int vcpuid);

View File

@ -285,7 +285,6 @@ virBlkioDeviceWeightArrayClear;
virDiskNameToBusDeviceIndex;
virDiskNameToIndex;
virDomainActualNetDefFree;
virDomainAssignDef;
virDomainBlockedReasonTypeFromString;
virDomainBlockedReasonTypeToString;
virDomainBootMenuTypeFromString;
@ -376,9 +375,6 @@ virDomainEmulatorPinAdd;
virDomainEmulatorPinDel;
virDomainFeatureStateTypeFromString;
virDomainFeatureStateTypeToString;
virDomainFindByID;
virDomainFindByName;
virDomainFindByUUID;
virDomainFSDefFree;
virDomainFSIndexByName;
virDomainFSTypeFromString;
@ -443,9 +439,7 @@ virDomainLifecycleCrashTypeFromString;
virDomainLifecycleCrashTypeToString;
virDomainLifecycleTypeFromString;
virDomainLifecycleTypeToString;
virDomainList;
virDomainLiveConfigHelperMethod;
virDomainLoadAllConfigs;
virDomainLockFailureTypeFromString;
virDomainLockFailureTypeToString;
virDomainLookupVcpuPin;
@ -477,12 +471,19 @@ virDomainObjAssignDef;
virDomainObjCopyPersistentDef;
virDomainObjGetPersistentDef;
virDomainObjGetState;
virDomainObjIsDuplicate;
virDomainObjListDeinit;
virDomainObjListAdd;
virDomainObjListExport;
virDomainObjListFindByID;
virDomainObjListFindByName;
virDomainObjListFindByUUID;
virDomainObjListFree;
virDomainObjListGetActiveIDs;
virDomainObjListGetInactiveNames;
virDomainObjListInit;
virDomainObjListIsDuplicate;
virDomainObjListLoadAllConfigs;
virDomainObjListNew;
virDomainObjListNumOfDomains;
virDomainObjListRemove;
virDomainObjNew;
virDomainObjSetDefTransient;
virDomainObjSetState;
@ -497,7 +498,6 @@ virDomainPMSuspendedReasonTypeFromString;
virDomainPMSuspendedReasonTypeToString;
virDomainRedirdevBusTypeFromString;
virDomainRedirdevBusTypeToString;
virDomainRemoveInactive;
virDomainRunningReasonTypeFromString;
virDomainRunningReasonTypeToString;
virDomainSaveConfig;

View File

@ -67,7 +67,7 @@ struct _libxlDriverPrivate {
virStateInhibitCallback inhibitCallback;
void *inhibitOpaque;
virDomainObjList domains;
virDomainObjListPtr domains;
virDomainEventStatePtr domainEventState;

View File

@ -684,7 +684,7 @@ libxlEventHandler(void *data ATTRIBUTE_UNUSED, const libxl_event *event)
goto cleanup;
libxlDriverLock(driver);
vm = virDomainFindByID(&driver->domains, event->domid);
vm = virDomainObjListFindByID(driver->domains, event->domid);
libxlDriverUnlock(driver);
if (!vm)
@ -703,7 +703,7 @@ libxlEventHandler(void *data ATTRIBUTE_UNUSED, const libxl_event *event)
}
libxlVmReap(driver, vm, reason);
if (!vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
break;
@ -1052,7 +1052,7 @@ libxlReconnectDomain(void *payload,
out:
libxlVmCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_UNKNOWN);
if (!vm->persistent)
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
else
virObjectUnlock(vm);
}
@ -1060,7 +1060,7 @@ out:
static void
libxlReconnectDomains(libxlDriverPrivatePtr driver)
{
virHashForEach(driver->domains.objs, libxlReconnectDomain, driver);
virHashForEach(driver->domains->objs, libxlReconnectDomain, driver);
}
static int
@ -1071,7 +1071,7 @@ libxlShutdown(void)
libxlDriverLock(libxl_driver);
virCapabilitiesFree(libxl_driver->caps);
virDomainObjListDeinit(&libxl_driver->domains);
virDomainObjListFree(libxl_driver->domains);
libxl_ctx_free(libxl_driver->ctx);
xtl_logger_destroy(libxl_driver->logger);
if (libxl_driver->logger_file)
@ -1138,8 +1138,8 @@ libxlStartup(bool privileged,
LIBXL_VNC_PORT_MAX)))
goto error;
if (virDomainObjListInit(&libxl_driver->domains) < 0)
goto out_of_memory;
if (!(libxl_driver->domains = virDomainObjListNew()))
goto error;
if (virAsprintf(&libxl_driver->configDir,
"%s", LIBXL_CONFIG_DIR) == -1)
@ -1233,8 +1233,8 @@ libxlStartup(bool privileged,
libxl_driver->caps->privateDataFreeFunc = libxlDomainObjPrivateFree;
/* Load running domains first. */
if (virDomainLoadAllConfigs(libxl_driver->caps,
&libxl_driver->domains,
if (virDomainObjListLoadAllConfigs(libxl_driver->domains,
libxl_driver->caps,
libxl_driver->stateDir,
libxl_driver->autostartDir,
1, 1 << VIR_DOMAIN_VIRT_XEN,
@ -1244,18 +1244,18 @@ libxlStartup(bool privileged,
libxlReconnectDomains(libxl_driver);
/* Then inactive persistent configs */
if (virDomainLoadAllConfigs(libxl_driver->caps,
&libxl_driver->domains,
if (virDomainObjListLoadAllConfigs(libxl_driver->domains,
libxl_driver->caps,
libxl_driver->configDir,
libxl_driver->autostartDir,
0, 1 << VIR_DOMAIN_VIRT_XEN,
NULL, NULL) < 0)
goto error;
virHashForEach(libxl_driver->domains.objs, libxlAutostartDomain,
virHashForEach(libxl_driver->domains->objs, libxlAutostartDomain,
libxl_driver);
virHashForEach(libxl_driver->domains.objs, libxlDomainManagedSaveLoad,
virHashForEach(libxl_driver->domains->objs, libxlDomainManagedSaveLoad,
libxl_driver);
libxlDriverUnlock(libxl_driver);
@ -1281,14 +1281,14 @@ libxlReload(void)
return 0;
libxlDriverLock(libxl_driver);
virDomainLoadAllConfigs(libxl_driver->caps,
&libxl_driver->domains,
virDomainObjListLoadAllConfigs(libxl_driver->domains,
libxl_driver->caps,
libxl_driver->configDir,
libxl_driver->autostartDir,
1, 1 << VIR_DOMAIN_VIRT_XEN,
NULL, libxl_driver);
virHashForEach(libxl_driver->domains.objs, libxlAutostartDomain,
virHashForEach(libxl_driver->domains->objs, libxlAutostartDomain,
libxl_driver);
libxlDriverUnlock(libxl_driver);
@ -1409,7 +1409,7 @@ libxlListDomains(virConnectPtr conn, int *ids, int nids)
int n;
libxlDriverLock(driver);
n = virDomainObjListGetActiveIDs(&driver->domains, ids, nids);
n = virDomainObjListGetActiveIDs(driver->domains, ids, nids);
libxlDriverUnlock(driver);
return n;
@ -1422,7 +1422,7 @@ libxlNumDomains(virConnectPtr conn)
int n;
libxlDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 1);
n = virDomainObjListNumOfDomains(driver->domains, 1);
libxlDriverUnlock(driver);
return n;
@ -1445,17 +1445,18 @@ libxlDomainCreateXML(virConnectPtr conn, const char *xml,
VIR_DOMAIN_XML_INACTIVE)))
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, def, 1) < 0)
goto cleanup;
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains, def, false)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, false)))
goto cleanup;
def = NULL;
if (libxlVmStart(driver, vm, (flags & VIR_DOMAIN_START_PAUSED) != 0,
-1) < 0) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
goto cleanup;
}
@ -1480,7 +1481,7 @@ libxlDomainLookupByID(virConnectPtr conn, int id)
virDomainPtr dom = NULL;
libxlDriverLock(driver);
vm = virDomainFindByID(&driver->domains, id);
vm = virDomainObjListFindByID(driver->domains, id);
libxlDriverUnlock(driver);
if (!vm) {
@ -1506,7 +1507,7 @@ libxlDomainLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
virDomainPtr dom = NULL;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, uuid);
vm = virDomainObjListFindByUUID(driver->domains, uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -1532,7 +1533,7 @@ libxlDomainLookupByName(virConnectPtr conn, const char *name)
virDomainPtr dom = NULL;
libxlDriverLock(driver);
vm = virDomainFindByName(&driver->domains, name);
vm = virDomainObjListFindByName(driver->domains, name);
libxlDriverUnlock(driver);
if (!vm) {
@ -1560,7 +1561,7 @@ libxlDomainSuspend(virDomainPtr dom)
int ret = -1;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -1618,7 +1619,7 @@ libxlDomainResume(virDomainPtr dom)
int ret = -1;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -1678,7 +1679,7 @@ libxlDomainShutdownFlags(virDomainPtr dom, unsigned int flags)
virCheckFlags(0, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -1731,7 +1732,7 @@ libxlDomainReboot(virDomainPtr dom, unsigned int flags)
virCheckFlags(0, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -1774,7 +1775,7 @@ libxlDomainDestroyFlags(virDomainPtr dom,
virCheckFlags(0, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -1799,7 +1800,7 @@ libxlDomainDestroyFlags(virDomainPtr dom,
}
if (!vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -1828,7 +1829,7 @@ libxlDomainGetOSType(virDomainPtr dom)
char *type = NULL;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -1855,7 +1856,7 @@ libxlDomainGetMaxMemory(virDomainPtr dom)
unsigned long long ret = 0;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -1886,7 +1887,7 @@ libxlDomainSetMemoryFlags(virDomainPtr dom, unsigned long newmem,
VIR_DOMAIN_MEM_MAXIMUM, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -2005,7 +2006,7 @@ libxlDomainGetInfo(virDomainPtr dom, virDomainInfoPtr info)
int ret = -1;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -2052,7 +2053,7 @@ libxlDomainGetState(virDomainPtr dom,
virCheckFlags(0, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -2163,7 +2164,7 @@ libxlDomainSaveFlags(virDomainPtr dom, const char *to, const char *dxml,
}
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -2182,7 +2183,7 @@ libxlDomainSaveFlags(virDomainPtr dom, const char *to, const char *dxml,
goto cleanup;
if (!vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -2225,17 +2226,19 @@ libxlDomainRestoreFlags(virConnectPtr conn, const char *from,
if (fd < 0)
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, def, 1) < 0)
goto cleanup;
if (!(vm = virDomainAssignDef(driver->caps, &driver->domains, def, true)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, true)))
goto cleanup;
def = NULL;
if ((ret = libxlVmStart(driver, vm, false, fd)) < 0 &&
!vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -2268,7 +2271,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
virCheckFlags(VIR_DUMP_LIVE | VIR_DUMP_CRASH, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -2319,7 +2322,7 @@ libxlDomainCoreDump(virDomainPtr dom, const char *to, unsigned int flags)
}
if ((flags & VIR_DUMP_CRASH) && !vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -2360,7 +2363,7 @@ libxlDomainManagedSave(virDomainPtr dom, unsigned int flags)
virCheckFlags(0, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -2389,7 +2392,7 @@ libxlDomainManagedSave(virDomainPtr dom, unsigned int flags)
goto cleanup;
if (!vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -2434,7 +2437,7 @@ libxlDomainHasManagedSaveImage(virDomainPtr dom, unsigned int flags)
virCheckFlags(0, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -2463,7 +2466,7 @@ libxlDomainManagedSaveRemove(virDomainPtr dom, unsigned int flags)
virCheckFlags(0, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -2522,7 +2525,7 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
}
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -2641,7 +2644,7 @@ libxlDomainGetVcpusFlags(virDomainPtr dom, unsigned int flags)
VIR_DOMAIN_VCPU_MAXIMUM, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -2698,7 +2701,7 @@ libxlDomainPinVcpu(virDomainPtr dom, unsigned int vcpu, unsigned char *cpumap,
libxl_bitmap map;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -2765,7 +2768,7 @@ libxlDomainGetVcpus(virDomainPtr dom, virVcpuInfoPtr info, int maxinfo,
unsigned char *cpumap;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -2828,7 +2831,7 @@ libxlDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
/* Flags checked by virDomainDefFormat */
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -2944,7 +2947,7 @@ libxlListDefinedDomains(virConnectPtr conn,
int n;
libxlDriverLock(driver);
n = virDomainObjListGetInactiveNames(&driver->domains, names, nnames);
n = virDomainObjListGetInactiveNames(driver->domains, names, nnames);
libxlDriverUnlock(driver);
return n;
}
@ -2956,7 +2959,7 @@ libxlNumDefinedDomains(virConnectPtr conn)
int n;
libxlDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 0);
n = virDomainObjListNumOfDomains(driver->domains, 0);
libxlDriverUnlock(driver);
return n;
@ -2973,7 +2976,7 @@ libxlDomainCreateWithFlags(virDomainPtr dom,
virCheckFlags(VIR_DOMAIN_START_PAUSED, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -3019,18 +3022,19 @@ libxlDomainDefineXML(virConnectPtr conn, const char *xml)
VIR_DOMAIN_XML_INACTIVE)))
goto cleanup;
if ((dupVM = virDomainObjIsDuplicate(&driver->domains, def, 0)) < 0)
if ((dupVM = virDomainObjListIsDuplicate(driver->domains, def, 0)) < 0)
goto cleanup;
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains, def, false)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, false)))
goto cleanup;
def = NULL;
vm->persistent = 1;
if (virDomainSaveConfig(driver->configDir,
vm->newDef ? vm->newDef : vm->def) < 0) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
goto cleanup;
}
@ -3067,7 +3071,7 @@ libxlDomainUndefineFlags(virDomainPtr dom,
virCheckFlags(VIR_DOMAIN_UNDEFINE_MANAGED_SAVE, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -3114,7 +3118,7 @@ libxlDomainUndefineFlags(virDomainPtr dom,
if (virDomainObjIsActive(vm)) {
vm->persistent = 0;
} else {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -3506,7 +3510,7 @@ libxlDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
VIR_DOMAIN_DEVICE_MODIFY_CONFIG, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, "%s", _("no domain with matching uuid"));
@ -3707,7 +3711,7 @@ libxlDomainGetAutostart(virDomainPtr dom, int *autostart)
int ret = -1;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -3736,7 +3740,7 @@ libxlDomainSetAutostart(virDomainPtr dom, int autostart)
int ret = -1;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -3806,7 +3810,7 @@ libxlDomainGetSchedulerType(virDomainPtr dom, int *nparams)
libxl_scheduler sched_id;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -3871,7 +3875,7 @@ libxlDomainGetSchedulerParametersFlags(virDomainPtr dom,
virCheckFlags(0, -1);
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -3954,7 +3958,7 @@ libxlDomainSetSchedulerParametersFlags(virDomainPtr dom,
return -1;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
@ -4024,7 +4028,7 @@ libxlDomainIsActive(virDomainPtr dom)
int ret = -1;
libxlDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -4046,7 +4050,7 @@ libxlDomainIsPersistent(virDomainPtr dom)
int ret = -1;
libxlDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -4068,7 +4072,7 @@ libxlDomainIsUpdated(virDomainPtr dom)
int ret = -1;
libxlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
libxlDriverUnlock(driver);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -4135,7 +4139,7 @@ libxlListAllDomains(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
libxlDriverLock(driver);
ret = virDomainList(conn, driver->domains.objs, domains, flags);
ret = virDomainObjListExport(driver->domains, conn, domains, flags);
libxlDriverUnlock(driver);
return ret;

View File

@ -58,7 +58,7 @@ struct _virLXCDriver {
virStateInhibitCallback inhibitCallback;
void *inhibitOpaque;
virDomainObjList domains;
virDomainObjListPtr domains;
char *configDir;
char *autostartDir;
char *stateDir;

View File

@ -84,7 +84,7 @@ static int
lxcVMFilterRebuild(virConnectPtr conn ATTRIBUTE_UNUSED,
virHashIterator iter, void *data)
{
virHashForEach(lxc_driver->domains.objs, iter, data);
virHashForEach(lxc_driver->domains->objs, iter, data);
return 0;
}
@ -208,7 +208,7 @@ static virDomainPtr lxcDomainLookupByID(virConnectPtr conn,
virDomainPtr dom = NULL;
lxcDriverLock(driver);
vm = virDomainFindByID(&driver->domains, id);
vm = virDomainObjListFindByID(driver->domains, id);
lxcDriverUnlock(driver);
if (!vm) {
@ -235,7 +235,7 @@ static virDomainPtr lxcDomainLookupByUUID(virConnectPtr conn,
virDomainPtr dom = NULL;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, uuid);
vm = virDomainObjListFindByUUID(driver->domains, uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -264,7 +264,7 @@ static virDomainPtr lxcDomainLookupByName(virConnectPtr conn,
virDomainPtr dom = NULL;
lxcDriverLock(driver);
vm = virDomainFindByName(&driver->domains, name);
vm = virDomainObjListFindByName(driver->domains, name);
lxcDriverUnlock(driver);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
@ -290,7 +290,7 @@ static int lxcDomainIsActive(virDomainPtr dom)
int ret = -1;
lxcDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!obj) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -315,7 +315,7 @@ static int lxcDomainIsPersistent(virDomainPtr dom)
int ret = -1;
lxcDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!obj) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -339,7 +339,7 @@ static int lxcDomainIsUpdated(virDomainPtr dom)
int ret = -1;
lxcDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!obj) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -361,7 +361,7 @@ static int lxcListDomains(virConnectPtr conn, int *ids, int nids) {
int n;
lxcDriverLock(driver);
n = virDomainObjListGetActiveIDs(&driver->domains, ids, nids);
n = virDomainObjListGetActiveIDs(driver->domains, ids, nids);
lxcDriverUnlock(driver);
return n;
@ -372,7 +372,7 @@ static int lxcNumDomains(virConnectPtr conn) {
int n;
lxcDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 1);
n = virDomainObjListNumOfDomains(driver->domains, 1);
lxcDriverUnlock(driver);
return n;
@ -384,7 +384,7 @@ static int lxcListDefinedDomains(virConnectPtr conn,
int n;
lxcDriverLock(driver);
n = virDomainObjListGetInactiveNames(&driver->domains, names, nnames);
n = virDomainObjListGetInactiveNames(driver->domains, names, nnames);
lxcDriverUnlock(driver);
return n;
@ -396,7 +396,7 @@ static int lxcNumDefinedDomains(virConnectPtr conn) {
int n;
lxcDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 0);
n = virDomainObjListNumOfDomains(driver->domains, 0);
lxcDriverUnlock(driver);
return n;
@ -422,7 +422,7 @@ static virDomainPtr lxcDomainDefine(virConnectPtr conn, const char *xml)
if (virSecurityManagerVerify(driver->securityManager, def) < 0)
goto cleanup;
if ((dupVM = virDomainObjIsDuplicate(&driver->domains, def, 0)) < 0)
if ((dupVM = virDomainObjListIsDuplicate(driver->domains, def, 0)) < 0)
goto cleanup;
if ((def->nets != NULL) && !(driver->have_netns)) {
@ -431,15 +431,16 @@ static virDomainPtr lxcDomainDefine(virConnectPtr conn, const char *xml)
goto cleanup;
}
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains, def, false)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, false)))
goto cleanup;
def = NULL;
vm->persistent = 1;
if (virDomainSaveConfig(driver->configDir,
vm->newDef ? vm->newDef : vm->def) < 0) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
goto cleanup;
}
@ -475,7 +476,7 @@ static int lxcDomainUndefineFlags(virDomainPtr dom,
virCheckFlags(0, -1);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -502,7 +503,7 @@ static int lxcDomainUndefineFlags(virDomainPtr dom,
if (virDomainObjIsActive(vm)) {
vm->persistent = 0;
} else {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -531,7 +532,7 @@ static int lxcDomainGetInfo(virDomainPtr dom,
int ret = -1, rc;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -596,7 +597,7 @@ lxcDomainGetState(virDomainPtr dom,
virCheckFlags(0, -1);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -623,7 +624,7 @@ static char *lxcGetOSType(virDomainPtr dom)
char *ret = NULL;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -654,7 +655,7 @@ lxcDomainGetMaxMemory(virDomainPtr dom)
unsigned long long ret = 0;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -679,7 +680,7 @@ static int lxcDomainSetMaxMemory(virDomainPtr dom, unsigned long newmax) {
int ret = -1;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -712,7 +713,7 @@ static int lxcDomainSetMemory(virDomainPtr dom, unsigned long newmem) {
int ret = -1;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -787,7 +788,7 @@ lxcDomainSetMemoryParameters(virDomainPtr dom,
return -1;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -857,7 +858,7 @@ lxcDomainGetMemoryParameters(virDomainPtr dom,
virCheckFlags(0, -1);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -950,7 +951,7 @@ static char *lxcDomainGetXMLDesc(virDomainPtr dom,
/* Flags checked by virDomainDefFormat */
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -990,7 +991,7 @@ static int lxcDomainStartWithFlags(virDomainPtr dom, unsigned int flags)
virCheckFlags(VIR_DOMAIN_START_AUTODESTROY, -1);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -1077,7 +1078,7 @@ lxcDomainCreateAndStart(virConnectPtr conn,
if (virSecurityManagerVerify(driver->securityManager, def) < 0)
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, def, 1) < 0)
goto cleanup;
if ((def->nets != NULL) && !(driver->have_netns)) {
@ -1087,8 +1088,9 @@ lxcDomainCreateAndStart(virConnectPtr conn,
}
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains, def, false)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, false)))
goto cleanup;
def = NULL;
@ -1096,7 +1098,7 @@ lxcDomainCreateAndStart(virConnectPtr conn,
(flags & VIR_DOMAIN_START_AUTODESTROY),
VIR_DOMAIN_RUNNING_BOOTED) < 0) {
virDomainAuditStart(vm, "booted", false);
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
goto cleanup;
}
@ -1128,7 +1130,7 @@ static int lxcDomainGetSecurityLabel(virDomainPtr dom, virSecurityLabelPtr secla
int ret = -1;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
memset(seclabel, 0, sizeof(*seclabel));
@ -1315,7 +1317,7 @@ lxcDomainDestroyFlags(virDomainPtr dom,
virCheckFlags(0, -1);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -1338,7 +1340,7 @@ lxcDomainDestroyFlags(virDomainPtr dom,
priv->doneStopEvent = true;
virDomainAuditStop(vm, "destroyed");
if (!vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -1442,7 +1444,7 @@ static int lxcStartup(bool privileged,
}
lxcDriverLock(lxc_driver);
if (virDomainObjListInit(&lxc_driver->domains) < 0)
if (!(lxc_driver->domains = virDomainObjListNew()))
goto cleanup;
lxc_driver->domainEventState = virDomainEventStateNew();
@ -1478,19 +1480,19 @@ static int lxcStartup(bool privileged,
goto cleanup;
/* Get all the running persistent or transient configs first */
if (virDomainLoadAllConfigs(lxc_driver->caps,
&lxc_driver->domains,
if (virDomainObjListLoadAllConfigs(lxc_driver->domains,
lxc_driver->caps,
lxc_driver->stateDir,
NULL,
1, 1 << VIR_DOMAIN_VIRT_LXC,
NULL, NULL) < 0)
goto cleanup;
virLXCProcessReconnectAll(lxc_driver, &lxc_driver->domains);
virLXCProcessReconnectAll(lxc_driver, lxc_driver->domains);
/* Then inactive persistent configs */
if (virDomainLoadAllConfigs(lxc_driver->caps,
&lxc_driver->domains,
if (virDomainObjListLoadAllConfigs(lxc_driver->domains,
lxc_driver->caps,
lxc_driver->configDir,
lxc_driver->autostartDir,
0, 1 << VIR_DOMAIN_VIRT_LXC,
@ -1536,8 +1538,8 @@ lxcReload(void) {
return 0;
lxcDriverLock(lxc_driver);
virDomainLoadAllConfigs(lxc_driver->caps,
&lxc_driver->domains,
virDomainObjListLoadAllConfigs(lxc_driver->domains,
lxc_driver->caps,
lxc_driver->configDir,
lxc_driver->autostartDir,
0, 1 << VIR_DOMAIN_VIRT_LXC,
@ -1554,7 +1556,7 @@ static int lxcShutdown(void)
lxcDriverLock(lxc_driver);
virNWFilterUnRegisterCallbackDriver(&lxcCallbackDriver);
virDomainObjListDeinit(&lxc_driver->domains);
virDomainObjListFree(lxc_driver->domains);
virDomainEventStateFree(lxc_driver->domainEventState);
virLXCProcessAutoDestroyShutdown(lxc_driver);
@ -1774,7 +1776,7 @@ lxcSetSchedulerParametersFlags(virDomainPtr dom,
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -1916,7 +1918,7 @@ lxcGetSchedulerParametersFlags(virDomainPtr dom,
cpu_bw_status = !!rc;
}
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -2029,7 +2031,7 @@ lxcDomainSetBlkioParameters(virDomainPtr dom,
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -2127,7 +2129,7 @@ lxcDomainGetBlkioParameters(virDomainPtr dom,
VIR_DOMAIN_AFFECT_CONFIG, -1);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -2228,7 +2230,7 @@ lxcDomainInterfaceStats(virDomainPtr dom,
int ret = -1;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -2283,7 +2285,7 @@ static int lxcDomainGetAutostart(virDomainPtr dom,
int ret = -1;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -2311,7 +2313,7 @@ static int lxcDomainSetAutostart(virDomainPtr dom,
int ret = -1;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -2479,7 +2481,7 @@ static int lxcDomainSuspend(virDomainPtr dom)
int ret = -1;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -2544,7 +2546,7 @@ static int lxcDomainResume(virDomainPtr dom)
int ret = -1;
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -2604,7 +2606,7 @@ lxcDomainOpenConsole(virDomainPtr dom,
lxcDriverLock(driver);
virUUIDFormat(dom->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching uuid '%s'"), uuidstr);
@ -2682,7 +2684,7 @@ lxcDomainSendProcessSignal(virDomainPtr dom,
lxcDriverLock(driver);
virUUIDFormat(dom->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
@ -2747,7 +2749,7 @@ lxcListAllDomains(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
lxcDriverLock(driver);
ret = virDomainList(conn, driver->domains.objs, domains, flags);
ret = virDomainObjListExport(driver->domains, conn, domains, flags);
lxcDriverUnlock(driver);
return ret;
@ -2769,7 +2771,7 @@ lxcDomainShutdownFlags(virDomainPtr dom,
VIR_DOMAIN_SHUTDOWN_SIGNAL, -1);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -2858,7 +2860,7 @@ lxcDomainReboot(virDomainPtr dom,
VIR_DOMAIN_REBOOT_SIGNAL, -1);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
@ -4301,7 +4303,7 @@ lxcDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
affect = flags & (VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -4485,7 +4487,7 @@ static int lxcDomainOpenNamespace(virDomainPtr dom,
virCheckFlags(0, -1);
lxcDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
lxcDriverUnlock(driver);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];

View File

@ -85,7 +85,7 @@ static void virLXCProcessAutoDestroyDom(void *payload,
return;
}
if (!(dom = virDomainFindByUUID(&data->driver->domains,
if (!(dom = virDomainObjListFindByUUID(data->driver->domains,
uuid))) {
VIR_DEBUG("No domain object to kill");
return;
@ -101,7 +101,7 @@ static void virLXCProcessAutoDestroyDom(void *payload,
priv->doneStopEvent = true;
if (dom && !dom->persistent)
virDomainRemoveInactive(&data->driver->domains, dom);
virDomainObjListRemove(data->driver->domains, dom);
if (dom)
virObjectUnlock(dom);
@ -576,7 +576,7 @@ static void virLXCProcessMonitorEOFNotify(virLXCMonitorPtr mon,
VIR_DEBUG("Stop event has already been sent");
}
if (!vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
} else {
@ -590,7 +590,7 @@ static void virLXCProcessMonitorEOFNotify(virLXCMonitorPtr mon,
VIR_DOMAIN_EVENT_STOPPED,
priv->stopReason);
if (!vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
}
@ -1290,7 +1290,7 @@ virLXCProcessAutostartAll(virLXCDriverPtr driver)
struct virLXCProcessAutostartData data = { driver, conn };
lxcDriverLock(driver);
virHashForEach(driver->domains.objs, virLXCProcessAutostartDomain, &data);
virHashForEach(driver->domains->objs, virLXCProcessAutostartDomain, &data);
lxcDriverUnlock(driver);
if (conn)

View File

@ -558,7 +558,7 @@ openvzFreeDriver(struct openvz_driver *driver)
if (!driver)
return;
virDomainObjListDeinit(&driver->domains);
virDomainObjListFree(driver->domains);
virCapabilitiesFree(driver->caps);
VIR_FREE(driver);
}
@ -656,14 +656,14 @@ int openvzLoadDomains(struct openvz_driver *driver) {
openvzReadMemConf(dom->def, veid);
virUUIDFormat(dom->def->uuid, uuidstr);
if (virHashLookup(driver->domains.objs, uuidstr)) {
if (virHashLookup(driver->domains->objs, uuidstr)) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Duplicate container UUID %s detected for %d"),
uuidstr,
veid);
goto cleanup;
}
if (virHashAddEntry(driver->domains.objs, uuidstr, dom) < 0) {
if (virHashAddEntry(driver->domains->objs, uuidstr, dom) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Could not add UUID for container %d"), veid);
goto cleanup;

View File

@ -45,7 +45,7 @@ struct openvz_driver {
virMutex lock;
virCapsPtr caps;
virDomainObjList domains;
virDomainObjListPtr domains;
int version;
};

View File

@ -240,9 +240,8 @@ openvzDomainGetHostname(virDomainPtr dom, unsigned int flags)
virDomainObjPtr vm;
virCheckFlags(0, NULL);
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -280,7 +279,7 @@ static virDomainPtr openvzDomainLookupByID(virConnectPtr conn,
virDomainPtr dom = NULL;
openvzDriverLock(driver);
vm = virDomainFindByID(&driver->domains, id);
vm = virDomainObjListFindByID(driver->domains, id);
openvzDriverUnlock(driver);
if (!vm) {
@ -313,7 +312,7 @@ static char *openvzGetOSType(virDomainPtr dom)
char *ret = NULL;
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -338,7 +337,7 @@ static virDomainPtr openvzDomainLookupByUUID(virConnectPtr conn,
virDomainPtr dom = NULL;
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, uuid);
vm = virDomainObjListFindByUUID(driver->domains, uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -363,7 +362,7 @@ static virDomainPtr openvzDomainLookupByName(virConnectPtr conn,
virDomainPtr dom = NULL;
openvzDriverLock(driver);
vm = virDomainFindByName(&driver->domains, name);
vm = virDomainObjListFindByName(driver->domains, name);
openvzDriverUnlock(driver);
if (!vm) {
@ -389,7 +388,7 @@ static int openvzDomainGetInfo(virDomainPtr dom,
int ret = -1;
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -437,7 +436,7 @@ openvzDomainGetState(virDomainPtr dom,
virCheckFlags(0, -1);
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -462,7 +461,7 @@ static int openvzDomainIsActive(virDomainPtr dom)
int ret = -1;
openvzDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -484,7 +483,7 @@ static int openvzDomainIsPersistent(virDomainPtr dom)
int ret = -1;
openvzDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -511,7 +510,7 @@ static char *openvzDomainGetXMLDesc(virDomainPtr dom, unsigned int flags) {
/* Flags checked by virDomainDefFormat */
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -555,7 +554,7 @@ static int openvzDomainSuspend(virDomainPtr dom) {
int ret = -1;
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -593,7 +592,7 @@ static int openvzDomainResume(virDomainPtr dom) {
int ret = -1;
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -636,7 +635,7 @@ openvzDomainShutdownFlags(virDomainPtr dom,
virCheckFlags(0, -1);
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -687,7 +686,7 @@ static int openvzDomainReboot(virDomainPtr dom,
virCheckFlags(0, -1);
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -961,15 +960,16 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
VIR_DOMAIN_XML_INACTIVE)) == NULL)
goto cleanup;
vm = virDomainFindByName(&driver->domains, vmdef->name);
vm = virDomainObjListFindByName(driver->domains, vmdef->name);
if (vm) {
virReportError(VIR_ERR_OPERATION_FAILED,
_("Already an OPENVZ VM active with the id '%s'"),
vmdef->name);
goto cleanup;
}
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains, vmdef, false)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
vmdef, false)))
goto cleanup;
vmdef = NULL;
vm->persistent = 1;
@ -1047,15 +1047,16 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml,
VIR_DOMAIN_XML_INACTIVE)) == NULL)
goto cleanup;
vm = virDomainFindByName(&driver->domains, vmdef->name);
vm = virDomainObjListFindByName(driver->domains, vmdef->name);
if (vm) {
virReportError(VIR_ERR_OPERATION_FAILED,
_("Already an OPENVZ VM defined with the id '%s'"),
vmdef->name);
goto cleanup;
}
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains, vmdef, false)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
vmdef, false)))
goto cleanup;
vmdef = NULL;
/* All OpenVZ domains seem to be persistent - this is a bit of a violation
@ -1126,7 +1127,7 @@ openvzDomainCreateWithFlags(virDomainPtr dom, unsigned int flags)
virCheckFlags(0, -1);
openvzDriverLock(driver);
vm = virDomainFindByName(&driver->domains, dom->name);
vm = virDomainObjListFindByName(driver->domains, dom->name);
openvzDriverUnlock(driver);
if (!vm) {
@ -1180,7 +1181,7 @@ openvzDomainUndefineFlags(virDomainPtr dom,
virCheckFlags(0, -1);
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, "%s",
_("no domain with matching uuid"));
@ -1198,7 +1199,7 @@ openvzDomainUndefineFlags(virDomainPtr dom,
if (virDomainObjIsActive(vm)) {
vm->persistent = 0;
} else {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -1227,7 +1228,7 @@ openvzDomainSetAutostart(virDomainPtr dom, int autostart)
int ret = -1;
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -1257,7 +1258,7 @@ openvzDomainGetAutostart(virDomainPtr dom, int *autostart)
int ret = -1;
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -1352,7 +1353,7 @@ static int openvzDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
}
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -1439,7 +1440,7 @@ static virDrvOpenStatus openvzOpen(virConnectPtr conn,
return VIR_DRV_OPEN_ERROR;
}
if (virDomainObjListInit(&driver->domains) < 0)
if (!(driver->domains = virDomainObjListNew()))
goto cleanup;
if (!(driver->caps = openvzCapsInit()))
@ -1548,7 +1549,7 @@ static int openvzNumDomains(virConnectPtr conn) {
int n;
openvzDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 1);
n = virDomainObjListNumOfDomains(driver->domains, 1);
openvzDriverUnlock(driver);
return n;
@ -1662,7 +1663,7 @@ static int openvzNumDefinedDomains(virConnectPtr conn) {
int n;
openvzDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 0);
n = virDomainObjListNumOfDomains(driver->domains, 0);
openvzDriverUnlock(driver);
return n;
@ -1951,7 +1952,7 @@ openvzDomainInterfaceStats(virDomainPtr dom,
int ret = -1;
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
openvzDriverUnlock(driver);
if (!vm) {
@ -2052,7 +2053,7 @@ openvzDomainUpdateDeviceFlags(virDomainPtr dom, const char *xml,
VIR_DOMAIN_DEVICE_MODIFY_CONFIG, -1);
openvzDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, "%s",
@ -2105,7 +2106,7 @@ openvzListAllDomains(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
openvzDriverLock(driver);
ret = virDomainList(conn, driver->domains.objs, domains, flags);
ret = virDomainObjListExport(driver->domains, conn, domains, flags);
openvzDriverUnlock(driver);
return ret;

View File

@ -830,8 +830,9 @@ parallelsLoadDomain(parallelsConnPtr privconn, virJSONValuePtr jobj)
if (parallelsAddVNCInfo(def, jobj) < 0)
goto cleanup;
if (!(dom = virDomainAssignDef(privconn->caps,
&privconn->domains, def, false)))
if (!(dom = virDomainObjListAdd(privconn->domains,
privconn->caps,
def, false)))
goto cleanup;
/* dom is locked here */
@ -928,7 +929,7 @@ parallelsOpenDefault(virConnectPtr conn)
if (!(privconn->caps = parallelsBuildCapabilities()))
goto error;
if (virDomainObjListInit(&privconn->domains) < 0)
if (!(privconn->domains = virDomainObjListNew()))
goto error;
conn->privateData = privconn;
@ -939,7 +940,7 @@ parallelsOpenDefault(virConnectPtr conn)
return VIR_DRV_OPEN_SUCCESS;
error:
virDomainObjListDeinit(&privconn->domains);
virDomainObjListFree(privconn->domains);
virCapabilitiesFree(privconn->caps);
virStoragePoolObjListFree(&privconn->pools);
VIR_FREE(privconn);
@ -986,7 +987,7 @@ parallelsClose(virConnectPtr conn)
parallelsDriverLock(privconn);
virCapabilitiesFree(privconn->caps);
virDomainObjListDeinit(&privconn->domains);
virDomainObjListFree(privconn->domains);
conn->privateData = NULL;
parallelsDriverUnlock(privconn);
@ -1049,7 +1050,7 @@ parallelsListDomains(virConnectPtr conn, int *ids, int maxids)
int n;
parallelsDriverLock(privconn);
n = virDomainObjListGetActiveIDs(&privconn->domains, ids, maxids);
n = virDomainObjListGetActiveIDs(privconn->domains, ids, maxids);
parallelsDriverUnlock(privconn);
return n;
@ -1062,7 +1063,7 @@ parallelsNumOfDomains(virConnectPtr conn)
int count;
parallelsDriverLock(privconn);
count = virDomainObjListNumOfDomains(&privconn->domains, 1);
count = virDomainObjListNumOfDomains(privconn->domains, 1);
parallelsDriverUnlock(privconn);
return count;
@ -1076,7 +1077,7 @@ parallelsListDefinedDomains(virConnectPtr conn, char **const names, int maxnames
parallelsDriverLock(privconn);
memset(names, 0, sizeof(*names) * maxnames);
n = virDomainObjListGetInactiveNames(&privconn->domains, names,
n = virDomainObjListGetInactiveNames(privconn->domains, names,
maxnames);
parallelsDriverUnlock(privconn);
@ -1090,7 +1091,7 @@ parallelsNumOfDefinedDomains(virConnectPtr conn)
int count;
parallelsDriverLock(privconn);
count = virDomainObjListNumOfDomains(&privconn->domains, 0);
count = virDomainObjListNumOfDomains(privconn->domains, 0);
parallelsDriverUnlock(privconn);
return count;
@ -1106,7 +1107,7 @@ parallelsListAllDomains(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
parallelsDriverLock(privconn);
ret = virDomainList(conn, privconn->domains.objs, domains, flags);
ret = virDomainObjListExport(privconn->domains, conn, domains, flags);
parallelsDriverUnlock(privconn);
return ret;
@ -1120,7 +1121,7 @@ parallelsLookupDomainByID(virConnectPtr conn, int id)
virDomainObjPtr dom;
parallelsDriverLock(privconn);
dom = virDomainFindByID(&privconn->domains, id);
dom = virDomainObjListFindByID(privconn->domains, id);
parallelsDriverUnlock(privconn);
if (dom == NULL) {
@ -1146,7 +1147,7 @@ parallelsLookupDomainByUUID(virConnectPtr conn, const unsigned char *uuid)
virDomainObjPtr dom;
parallelsDriverLock(privconn);
dom = virDomainFindByUUID(&privconn->domains, uuid);
dom = virDomainObjListFindByUUID(privconn->domains, uuid);
parallelsDriverUnlock(privconn);
if (dom == NULL) {
@ -1175,7 +1176,7 @@ parallelsLookupDomainByName(virConnectPtr conn, const char *name)
virDomainObjPtr dom;
parallelsDriverLock(privconn);
dom = virDomainFindByName(&privconn->domains, name);
dom = virDomainObjListFindByName(privconn->domains, name);
parallelsDriverUnlock(privconn);
if (dom == NULL) {
@ -1202,7 +1203,7 @@ parallelsGetDomainInfo(virDomainPtr domain, virDomainInfoPtr info)
int ret = -1;
parallelsDriverLock(privconn);
privdom = virDomainFindByUUID(&privconn->domains, domain->uuid);
privdom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
parallelsDriverUnlock(privconn);
if (privdom == NULL) {
@ -1232,7 +1233,7 @@ parallelsGetOSType(virDomainPtr domain)
char *ret = NULL;
parallelsDriverLock(privconn);
privdom = virDomainFindByUUID(&privconn->domains, domain->uuid);
privdom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
if (privdom == NULL) {
parallelsDomNotFoundError(domain);
goto cleanup;
@ -1256,7 +1257,7 @@ parallelsDomainIsPersistent(virDomainPtr domain)
int ret = -1;
parallelsDriverLock(privconn);
privdom = virDomainFindByUUID(&privconn->domains, domain->uuid);
privdom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
if (privdom == NULL) {
parallelsDomNotFoundError(domain);
goto cleanup;
@ -1281,7 +1282,7 @@ parallelsDomainGetState(virDomainPtr domain,
virCheckFlags(0, -1);
parallelsDriverLock(privconn);
privdom = virDomainFindByUUID(&privconn->domains, domain->uuid);
privdom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
parallelsDriverUnlock(privconn);
if (privdom == NULL) {
@ -1309,7 +1310,7 @@ parallelsDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
/* Flags checked by virDomainDefFormat */
parallelsDriverLock(privconn);
privdom = virDomainFindByUUID(&privconn->domains, domain->uuid);
privdom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
parallelsDriverUnlock(privconn);
if (privdom == NULL) {
@ -1336,7 +1337,7 @@ parallelsDomainGetAutostart(virDomainPtr domain, int *autostart)
int ret = -1;
parallelsDriverLock(privconn);
privdom = virDomainFindByUUID(&privconn->domains, domain->uuid);
privdom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
parallelsDriverUnlock(privconn);
if (privdom == NULL) {
@ -1368,7 +1369,7 @@ parallelsDomainChangeState(virDomainPtr domain,
int ret = -1;
parallelsDriverLock(privconn);
privdom = virDomainFindByUUID(&privconn->domains, domain->uuid);
privdom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
parallelsDriverUnlock(privconn);
if (privdom == NULL) {
@ -2334,13 +2335,13 @@ parallelsDomainDefineXML(virConnectPtr conn, const char *xml)
goto cleanup;
}
if ((dupVM = virDomainObjIsDuplicate(&privconn->domains, def, 0)) < 0) {
if ((dupVM = virDomainObjListIsDuplicate(privconn->domains, def, 0)) < 0) {
virReportError(VIR_ERR_INVALID_ARG, "%s", _("Already exists"));
goto cleanup;
}
if (dupVM == 1) {
olddom = virDomainFindByUUID(&privconn->domains, def->uuid);
olddom = virDomainObjListFindByUUID(privconn->domains, def->uuid);
} else {
if (STREQ(def->os.type, "hvm")) {
if (parallelsCreateVm(conn, def))
@ -2355,7 +2356,7 @@ parallelsDomainDefineXML(virConnectPtr conn, const char *xml)
}
if (parallelsLoadDomains(privconn, def->name))
goto cleanup;
olddom = virDomainFindByName(&privconn->domains, def->name);
olddom = virDomainObjListFindByName(privconn->domains, def->name);
if (!olddom) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Domain for '%s' is not defined after creation"),
@ -2370,8 +2371,9 @@ parallelsDomainDefineXML(virConnectPtr conn, const char *xml)
}
virObjectUnlock(olddom);
if (!(dom = virDomainAssignDef(privconn->caps,
&privconn->domains, def, false))) {
if (!(dom = virDomainObjListAdd(privconn->domains,
privconn->caps,
def, false))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("Can't allocate domobj"));
goto cleanup;

View File

@ -458,7 +458,7 @@ static int parallelsLoadPools(virConnectPtr conn)
data.conn = conn;
data.failed = false;
virHashForEach(privconn->domains.objs, parallelsPoolsAdd, &data);
virHashForEach(privconn->domains->objs, parallelsPoolsAdd, &data);
if (data.failed)
goto error;

View File

@ -39,7 +39,7 @@
struct _parallelsConn {
virMutex lock;
virDomainObjList domains;
virDomainObjListPtr domains;
virStoragePoolObjList pools;
virNetworkObjList networks;
virCapsPtr caps;

View File

@ -673,7 +673,7 @@ qemuDriverCloseCallbackRun(void *payload,
*/
virUUIDFormat(uuid, uuidstr);
if (!(dom = virDomainFindByUUID(&data->driver->domains, uuid))) {
if (!(dom = virDomainObjListFindByUUID(data->driver->domains, uuid))) {
VIR_DEBUG("No domain object with UUID %s", uuidstr);
return;
}

View File

@ -169,7 +169,7 @@ struct _virQEMUDriver {
virStateInhibitCallback inhibitCallback;
void *inhibitOpaque;
virDomainObjList domains;
virDomainObjListPtr domains;
char *qemuImgBinary;

View File

@ -1882,7 +1882,7 @@ qemuDomainRemoveInactive(virQEMUDriverPtr driver,
VIR_WARN("unable to remove snapshot directory %s", snapDir);
VIR_FREE(snapDir);
}
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
virObjectUnref(cfg);
}

View File

@ -168,7 +168,7 @@ static int
qemuVMFilterRebuild(virConnectPtr conn ATTRIBUTE_UNUSED,
virHashIterator iter, void *data)
{
virHashForEach(qemu_driver->domains.objs, iter, data);
virHashForEach(qemu_driver->domains->objs, iter, data);
return 0;
}
@ -206,7 +206,7 @@ qemuDomObjFromDomainDriver(virDomainPtr domain, virQEMUDriverPtr *drv)
char uuidstr[VIR_UUID_STRING_BUFLEN];
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, domain->uuid);
vm = virDomainObjListFindByUUID(driver->domains, domain->uuid);
if (!vm) {
virUUIDFormat(domain->uuid, uuidstr);
virReportError(VIR_ERR_NO_DOMAIN,
@ -336,7 +336,7 @@ qemuAutostartDomains(virQEMUDriverPtr driver)
struct qemuAutostartData data = { driver, conn };
qemuDriverLock(driver);
virHashForEach(driver->domains.objs, qemuAutostartDomain, &data);
virHashForEach(driver->domains->objs, qemuAutostartDomain, &data);
qemuDriverUnlock(driver);
if (conn)
@ -681,8 +681,8 @@ qemuStartup(bool privileged,
/* Don't have a dom0 so start from 1 */
qemu_driver->nextvmid = 1;
if (virDomainObjListInit(&qemu_driver->domains) < 0)
goto out_of_memory;
if (!(qemu_driver->domains = virDomainObjListNew()))
goto error;
/* Init domain events */
qemu_driver->domainEventState = virDomainEventStateNew();
@ -863,8 +863,8 @@ qemuStartup(bool privileged,
goto error;
/* Get all the running persistent or transient configs first */
if (virDomainLoadAllConfigs(qemu_driver->caps,
&qemu_driver->domains,
if (virDomainObjListLoadAllConfigs(qemu_driver->domains,
qemu_driver->caps,
cfg->stateDir,
NULL,
1, QEMU_EXPECTED_VIRT_TYPES,
@ -874,19 +874,19 @@ qemuStartup(bool privileged,
/* find the maximum ID from active and transient configs to initialize
* the driver with. This is to avoid race between autostart and reconnect
* threads */
virHashForEach(qemu_driver->domains.objs,
virHashForEach(qemu_driver->domains->objs,
qemuDomainFindMaxID,
&qemu_driver->nextvmid);
virHashForEach(qemu_driver->domains.objs, qemuDomainNetsRestart, NULL);
virHashForEach(qemu_driver->domains->objs, qemuDomainNetsRestart, NULL);
conn = virConnectOpen(cfg->uri);
qemuProcessReconnectAll(conn, qemu_driver);
/* Then inactive persistent configs */
if (virDomainLoadAllConfigs(qemu_driver->caps,
&qemu_driver->domains,
if (virDomainObjListLoadAllConfigs(qemu_driver->domains,
qemu_driver->caps,
cfg->configDir,
cfg->autostartDir,
0, QEMU_EXPECTED_VIRT_TYPES,
@ -894,11 +894,11 @@ qemuStartup(bool privileged,
goto error;
virHashForEach(qemu_driver->domains.objs,
virHashForEach(qemu_driver->domains->objs,
qemuDomainSnapshotLoad,
cfg->snapshotDir);
virHashForEach(qemu_driver->domains.objs,
virHashForEach(qemu_driver->domains->objs,
qemuDomainManagedSaveLoad,
qemu_driver);
@ -959,8 +959,8 @@ qemuReload(void) {
qemuDriverLock(qemu_driver);
cfg = virQEMUDriverGetConfig(qemu_driver);
virDomainLoadAllConfigs(qemu_driver->caps,
&qemu_driver->domains,
virDomainObjListLoadAllConfigs(qemu_driver->domains,
qemu_driver->caps,
cfg->configDir,
cfg->autostartDir,
0, QEMU_EXPECTED_VIRT_TYPES,
@ -1054,7 +1054,7 @@ qemuShutdown(void) {
virCapabilitiesFree(qemu_driver->caps);
qemuCapsCacheFree(qemu_driver->capsCache);
virDomainObjListDeinit(&qemu_driver->domains);
virDomainObjListFree(qemu_driver->domains);
virObjectUnref(qemu_driver->remotePorts);
virSysinfoDefFree(qemu_driver->hostsysinfo);
@ -1379,7 +1379,7 @@ static virDomainPtr qemuDomainLookupByID(virConnectPtr conn,
virDomainPtr dom = NULL;
qemuDriverLock(driver);
vm = virDomainFindByID(&driver->domains, id);
vm = virDomainObjListFindByID(driver->domains, id);
qemuDriverUnlock(driver);
if (!vm) {
@ -1404,7 +1404,7 @@ static virDomainPtr qemuDomainLookupByUUID(virConnectPtr conn,
virDomainPtr dom = NULL;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, uuid);
vm = virDomainObjListFindByUUID(driver->domains, uuid);
qemuDriverUnlock(driver);
if (!vm) {
@ -1431,7 +1431,7 @@ static virDomainPtr qemuDomainLookupByName(virConnectPtr conn,
virDomainPtr dom = NULL;
qemuDriverLock(driver);
vm = virDomainFindByName(&driver->domains, name);
vm = virDomainObjListFindByName(driver->domains, name);
qemuDriverUnlock(driver);
if (!vm) {
@ -1521,7 +1521,7 @@ static int qemuListDomains(virConnectPtr conn, int *ids, int nids) {
int n;
qemuDriverLock(driver);
n = virDomainObjListGetActiveIDs(&driver->domains, ids, nids);
n = virDomainObjListGetActiveIDs(driver->domains, ids, nids);
qemuDriverUnlock(driver);
return n;
@ -1532,7 +1532,7 @@ static int qemuNumDomains(virConnectPtr conn) {
int n;
qemuDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 1);
n = virDomainObjListNumOfDomains(driver->domains, 1);
qemuDriverUnlock(driver);
return n;
@ -1589,7 +1589,7 @@ static virDomainPtr qemuDomainCreate(virConnectPtr conn, const char *xml,
if (virSecurityManagerVerify(driver->securityManager, def) < 0)
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, def, 1) < 0)
goto cleanup;
if (!(caps = qemuCapsCacheLookup(driver->capsCache, def->emulator)))
@ -1601,8 +1601,8 @@ static virDomainPtr qemuDomainCreate(virConnectPtr conn, const char *xml,
if (qemuDomainAssignAddresses(def, caps, NULL) < 0)
goto cleanup;
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains,
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, false)))
goto cleanup;
@ -1670,7 +1670,7 @@ static int qemuDomainSuspend(virDomainPtr dom) {
virQEMUDriverConfigPtr cfg = NULL;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -1753,7 +1753,7 @@ static int qemuDomainResume(virDomainPtr dom) {
virQEMUDriverConfigPtr cfg = NULL;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -2048,7 +2048,7 @@ qemuDomainDestroyFlags(virDomainPtr dom,
virCheckFlags(VIR_DOMAIN_DESTROY_GRACEFUL, -1);
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -2275,7 +2275,7 @@ static int qemuDomainInjectNMI(virDomainPtr domain, unsigned int flags)
virCheckFlags(0, -1);
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, domain->uuid);
vm = virDomainObjListFindByUUID(driver->domains, domain->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(domain->uuid, uuidstr);
@ -3031,7 +3031,7 @@ qemuDomainSaveFlags(virDomainPtr dom, const char *path, const char *dxml,
}
}
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -3341,7 +3341,7 @@ static int qemuDomainCoreDump(virDomainPtr dom,
VIR_DUMP_MEMORY_ONLY, -1);
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -4525,7 +4525,7 @@ static int qemuDomainGetSecurityLabel(virDomainPtr dom, virSecurityLabelPtr secl
int ret = -1;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
memset(seclabel, 0, sizeof(*seclabel));
@ -4585,7 +4585,7 @@ static int qemuDomainGetSecurityLabelList(virDomainPtr dom,
/* Protect domain data with qemu lock */
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -4990,13 +4990,13 @@ qemuDomainRestoreFlags(virConnectPtr conn,
if (fd < 0)
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, def, 1) < 0)
goto cleanup;
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains,
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, true))) {
/* virDomainAssignDef already set the error */
/* virDomainLitsAdd already set the error */
goto cleanup;
}
def = NULL;
@ -5203,7 +5203,7 @@ static char *qemuDomainGetXMLDesc(virDomainPtr dom,
/* Flags checked by virDomainDefFormat */
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -5437,7 +5437,7 @@ static int qemuListDefinedDomains(virConnectPtr conn,
int n;
qemuDriverLock(driver);
n = virDomainObjListGetInactiveNames(&driver->domains, names, nnames);
n = virDomainObjListGetInactiveNames(driver->domains, names, nnames);
qemuDriverUnlock(driver);
return n;
}
@ -5447,7 +5447,7 @@ static int qemuNumDefinedDomains(virConnectPtr conn) {
int n;
qemuDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 0);
n = virDomainObjListNumOfDomains(driver->domains, 0);
qemuDriverUnlock(driver);
return n;
@ -5544,7 +5544,7 @@ qemuDomainStartWithFlags(virDomainPtr dom, unsigned int flags)
VIR_DOMAIN_START_FORCE_BOOT, -1);
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -5606,7 +5606,7 @@ static virDomainPtr qemuDomainDefine(virConnectPtr conn, const char *xml) {
if (virSecurityManagerVerify(driver->securityManager, def) < 0)
goto cleanup;
if ((dupVM = virDomainObjIsDuplicate(&driver->domains, def, 0)) < 0)
if ((dupVM = virDomainObjListIsDuplicate(driver->domains, def, 0)) < 0)
goto cleanup;
if (!(caps = qemuCapsCacheLookup(driver->capsCache, def->emulator)))
@ -5621,9 +5621,9 @@ static virDomainPtr qemuDomainDefine(virConnectPtr conn, const char *xml) {
/* We need to differentiate two cases:
* a) updating an existing domain - must preserve previous definition
* so we can roll back if something fails
* b) defining a brand new domain - virDomainAssignDef is just sufficient
* b) defining a brand new domain - virDomainObjListAdd is just sufficient
*/
if ((vm = virDomainFindByUUID(&driver->domains, def->uuid))) {
if ((vm = virDomainObjListFindByUUID(driver->domains, def->uuid))) {
if (virDomainObjIsActive(vm)) {
def_backup = vm->newDef;
vm->newDef = def;
@ -5632,8 +5632,8 @@ static virDomainPtr qemuDomainDefine(virConnectPtr conn, const char *xml) {
vm->def = def;
}
} else {
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains,
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, false))) {
goto cleanup;
}
@ -5707,7 +5707,7 @@ qemuDomainUndefineFlags(virDomainPtr dom,
qemuDriverLock(driver);
cfg = virQEMUDriverGetConfig(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -6433,7 +6433,7 @@ qemuDomainModifyDeviceFlags(virDomainPtr dom, const char *xml,
affect = flags & (VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG);
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -6634,7 +6634,7 @@ static int qemuDomainSetAutostart(virDomainPtr dom,
virQEMUDriverConfigPtr cfg = NULL;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
cfg = virQEMUDriverGetConfig(driver);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -6915,7 +6915,7 @@ qemuDomainSetBlkioParameters(virDomainPtr dom,
return -1;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("No such domain %s"), dom->uuid);
@ -7070,7 +7070,7 @@ qemuDomainGetBlkioParameters(virDomainPtr dom,
* that can't parse it. */
flags &= ~VIR_TYPED_PARAM_STRING_OKAY;
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -7266,7 +7266,7 @@ qemuDomainSetMemoryParameters(virDomainPtr dom,
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -7426,7 +7426,7 @@ qemuDomainGetMemoryParameters(virDomainPtr dom,
/* We don't return strings, and thus trivially support this flag. */
flags &= ~VIR_TYPED_PARAM_STRING_OKAY;
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -7589,7 +7589,7 @@ qemuDomainSetNumaParameters(virDomainPtr dom,
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -7741,7 +7741,7 @@ qemuDomainGetNumaParameters(virDomainPtr dom,
* that can't parse it. */
flags &= ~VIR_TYPED_PARAM_STRING_OKAY;
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -7947,7 +7947,7 @@ qemuSetSchedulerParametersFlags(virDomainPtr dom,
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -8233,7 +8233,7 @@ qemuGetSchedulerParametersFlags(virDomainPtr dom,
cpu_bw_status = !!rc;
}
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -8764,7 +8764,7 @@ qemuDomainSetInterfaceParameters(virDomainPtr dom,
return -1;
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -8930,7 +8930,7 @@ qemuDomainGetInterfaceParameters(virDomainPtr dom,
flags &= ~VIR_TYPED_PARAM_STRING_OKAY;
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
@ -9594,7 +9594,7 @@ qemuDomainMigratePerform(virDomainPtr dom,
goto cleanup;
}
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -9642,7 +9642,7 @@ qemuDomainMigrateFinish2(virConnectPtr dconn,
virCheckFlags(QEMU_MIGRATION_FLAGS, NULL);
qemuDriverLock(driver);
vm = virDomainFindByName(&driver->domains, dname);
vm = virDomainObjListFindByName(driver->domains, dname);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching name '%s'"), dname);
@ -9684,7 +9684,7 @@ qemuDomainMigrateBegin3(virDomainPtr domain,
virCheckFlags(QEMU_MIGRATION_FLAGS, NULL);
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, domain->uuid);
vm = virDomainObjListFindByUUID(driver->domains, domain->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(domain->uuid, uuidstr);
@ -9871,7 +9871,7 @@ qemuDomainMigratePerform3(virDomainPtr dom,
virCheckFlags(QEMU_MIGRATION_FLAGS, -1);
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -9910,7 +9910,7 @@ qemuDomainMigrateFinish3(virConnectPtr dconn,
virCheckFlags(QEMU_MIGRATION_FLAGS, NULL);
qemuDriverLock(driver);
vm = virDomainFindByName(&driver->domains, dname);
vm = virDomainObjListFindByName(driver->domains, dname);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching name '%s'"), dname);
@ -9943,7 +9943,7 @@ qemuDomainMigrateConfirm3(virDomainPtr domain,
virCheckFlags(QEMU_MIGRATION_FLAGS, -1);
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, domain->uuid);
vm = virDomainObjListFindByUUID(driver->domains, domain->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(domain->uuid, uuidstr);
@ -11355,7 +11355,7 @@ qemuDomainSnapshotCreateXML(virDomainPtr domain,
qemuDriverLock(driver);
virUUIDFormat(domain->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, domain->uuid);
vm = virDomainObjListFindByUUID(driver->domains, domain->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching uuid '%s'"), uuidstr);
@ -12058,7 +12058,7 @@ static int qemuDomainRevertToSnapshot(virDomainSnapshotPtr snapshot,
qemuDriverLock(driver);
virUUIDFormat(snapshot->domain->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, snapshot->domain->uuid);
vm = virDomainObjListFindByUUID(driver->domains, snapshot->domain->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching uuid '%s'"), uuidstr);
@ -12425,7 +12425,7 @@ static int qemuDomainSnapshotDelete(virDomainSnapshotPtr snapshot,
qemuDriverLock(driver);
virUUIDFormat(snapshot->domain->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, snapshot->domain->uuid);
vm = virDomainObjListFindByUUID(driver->domains, snapshot->domain->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching uuid '%s'"), uuidstr);
@ -12615,7 +12615,7 @@ static virDomainPtr qemuDomainAttach(virConnectPtr conn,
if (!(caps = qemuCapsCacheLookup(driver->capsCache, def->emulator)))
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, def, 1) < 0)
goto cleanup;
if (qemuCanonicalizeMachine(def, caps) < 0)
@ -12624,8 +12624,8 @@ static virDomainPtr qemuDomainAttach(virConnectPtr conn,
if (qemuDomainAssignAddresses(def, caps, NULL) < 0)
goto cleanup;
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains,
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, false)))
goto cleanup;
@ -13027,7 +13027,7 @@ qemuDomainBlockJobImpl(virDomainPtr dom, const char *path, const char *base,
qemuDriverLock(driver);
virUUIDFormat(dom->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching uuid '%s'"), uuidstr);
@ -13585,7 +13585,7 @@ qemuDomainOpenGraphics(virDomainPtr dom,
qemuDriverLock(driver);
virUUIDFormat(dom->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching uuid '%s'"), uuidstr);
@ -13681,7 +13681,7 @@ qemuDomainSetBlockIoTune(virDomainPtr dom,
qemuDriverLock(driver);
virUUIDFormat(dom->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching uuid '%s'"), uuidstr);
@ -13839,7 +13839,7 @@ qemuDomainGetBlockIoTune(virDomainPtr dom,
qemuDriverLock(driver);
virUUIDFormat(dom->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching uuid '%s'"), uuidstr);
@ -14416,7 +14416,7 @@ qemuDomainGetCPUStats(virDomainPtr domain,
qemuDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, domain->uuid);
vm = virDomainObjListFindByUUID(driver->domains, domain->uuid);
if (vm == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("No such domain %s"), domain->uuid);
@ -14613,7 +14613,7 @@ qemuListAllDomains(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
qemuDriverLock(driver);
ret = virDomainList(conn, driver->domains.objs, domains, flags);
ret = virDomainObjListExport(driver->domains, conn, domains, flags);
qemuDriverUnlock(driver);
return ret;

View File

@ -1639,11 +1639,11 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
}
}
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, def, 1) < 0)
goto cleanup;
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains,
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, true))) {
/* virDomainAssignDef already set the error */
goto cleanup;

View File

@ -3446,7 +3446,7 @@ void
qemuProcessReconnectAll(virConnectPtr conn, virQEMUDriverPtr driver)
{
struct qemuProcessReconnectData data = {.conn = conn, .driver = driver};
virHashForEach(driver->domains.objs, qemuProcessReconnectHelper, &data);
virHashForEach(driver->domains->objs, qemuProcessReconnectHelper, &data);
}
int

View File

@ -83,7 +83,7 @@ struct _testConn {
int nextDomID;
virCapsPtr caps;
virNodeInfo nodeInfo;
virDomainObjList domains;
virDomainObjListPtr domains;
virNetworkObjList networks;
virInterfaceObjList ifaces;
bool transaction_running;
@ -546,7 +546,7 @@ static int testOpenDefault(virConnectPtr conn) {
testDriverLock(privconn);
conn->privateData = privconn;
if (virDomainObjListInit(&privconn->domains) < 0)
if (!(privconn->domains = virDomainObjListNew()))
goto error;
memmove(&privconn->nodeInfo, &defaultNodeInfo, sizeof(defaultNodeInfo));
@ -582,8 +582,9 @@ static int testOpenDefault(virConnectPtr conn) {
if (testDomainGenerateIfnames(domdef) < 0)
goto error;
if (!(domobj = virDomainAssignDef(privconn->caps,
&privconn->domains, domdef, false)))
if (!(domobj = virDomainObjListAdd(privconn->domains,
privconn->caps,
domdef, false)))
goto error;
domdef = NULL;
@ -645,7 +646,7 @@ static int testOpenDefault(virConnectPtr conn) {
return VIR_DRV_OPEN_SUCCESS;
error:
virDomainObjListDeinit(&privconn->domains);
virDomainObjListFree(privconn->domains);
virNetworkObjListFree(&privconn->networks);
virInterfaceObjListFree(&privconn->ifaces);
virStoragePoolObjListFree(&privconn->pools);
@ -795,7 +796,7 @@ static int testOpenFromFile(virConnectPtr conn,
testDriverLock(privconn);
conn->privateData = privconn;
if (virDomainObjListInit(&privconn->domains) < 0)
if (!(privconn->domains = virDomainObjListNew()))
goto error;
if (!(privconn->caps = testBuildCapabilities(conn)))
@ -926,8 +927,9 @@ static int testOpenFromFile(virConnectPtr conn,
}
if (testDomainGenerateIfnames(def) < 0 ||
!(dom = virDomainAssignDef(privconn->caps,
&privconn->domains, def, false))) {
!(dom = virDomainObjListAdd(privconn->domains,
privconn->caps,
def, false))) {
virDomainDefFree(def);
goto error;
}
@ -1113,7 +1115,7 @@ static int testOpenFromFile(virConnectPtr conn,
VIR_FREE(ifaces);
VIR_FREE(pools);
VIR_FREE(devs);
virDomainObjListDeinit(&privconn->domains);
virDomainObjListFree(privconn->domains);
virNetworkObjListFree(&privconn->networks);
virInterfaceObjListFree(&privconn->ifaces);
virStoragePoolObjListFree(&privconn->pools);
@ -1182,7 +1184,7 @@ static int testClose(virConnectPtr conn)
testConnPtr privconn = conn->privateData;
testDriverLock(privconn);
virCapabilitiesFree(privconn->caps);
virDomainObjListDeinit(&privconn->domains);
virDomainObjListFree(privconn->domains);
virNodeDeviceObjListFree(&privconn->devs);
virNetworkObjListFree(&privconn->networks);
virInterfaceObjListFree(&privconn->ifaces);
@ -1253,7 +1255,7 @@ static int testNumOfDomains(virConnectPtr conn)
int count;
testDriverLock(privconn);
count = virDomainObjListNumOfDomains(&privconn->domains, 1);
count = virDomainObjListNumOfDomains(privconn->domains, 1);
testDriverUnlock(privconn);
return count;
@ -1266,7 +1268,7 @@ static int testDomainIsActive(virDomainPtr dom)
int ret = -1;
testDriverLock(privconn);
obj = virDomainFindByUUID(&privconn->domains, dom->uuid);
obj = virDomainObjListFindByUUID(privconn->domains, dom->uuid);
testDriverUnlock(privconn);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -1287,7 +1289,7 @@ static int testDomainIsPersistent(virDomainPtr dom)
int ret = -1;
testDriverLock(privconn);
obj = virDomainFindByUUID(&privconn->domains, dom->uuid);
obj = virDomainObjListFindByUUID(privconn->domains, dom->uuid);
testDriverUnlock(privconn);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -1324,13 +1326,14 @@ testDomainCreateXML(virConnectPtr conn, const char *xml,
VIR_DOMAIN_XML_INACTIVE)) == NULL)
goto cleanup;
if (virDomainObjIsDuplicate(&privconn->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(privconn->domains, def, 1) < 0)
goto cleanup;
if (testDomainGenerateIfnames(def) < 0)
goto cleanup;
if (!(dom = virDomainAssignDef(privconn->caps,
&privconn->domains, def, false)))
if (!(dom = virDomainObjListAdd(privconn->domains,
privconn->caps,
def, false)))
goto cleanup;
def = NULL;
@ -1364,7 +1367,7 @@ static virDomainPtr testLookupDomainByID(virConnectPtr conn,
virDomainObjPtr dom;
testDriverLock(privconn);
dom = virDomainFindByID(&privconn->domains, id);
dom = virDomainObjListFindByID(privconn->domains, id);
testDriverUnlock(privconn);
if (dom == NULL) {
@ -1390,7 +1393,7 @@ static virDomainPtr testLookupDomainByUUID(virConnectPtr conn,
virDomainObjPtr dom ;
testDriverLock(privconn);
dom = virDomainFindByUUID(&privconn->domains, uuid);
dom = virDomainObjListFindByUUID(privconn->domains, uuid);
testDriverUnlock(privconn);
if (dom == NULL) {
@ -1416,7 +1419,7 @@ static virDomainPtr testLookupDomainByName(virConnectPtr conn,
virDomainObjPtr dom;
testDriverLock(privconn);
dom = virDomainFindByName(&privconn->domains, name);
dom = virDomainObjListFindByName(privconn->domains, name);
testDriverUnlock(privconn);
if (dom == NULL) {
@ -1442,7 +1445,7 @@ static int testListDomains(virConnectPtr conn,
int n;
testDriverLock(privconn);
n = virDomainObjListGetActiveIDs(&privconn->domains, ids, maxids);
n = virDomainObjListGetActiveIDs(privconn->domains, ids, maxids);
testDriverUnlock(privconn);
return n;
@ -1456,7 +1459,7 @@ static int testDestroyDomain(virDomainPtr domain)
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
if (privdom == NULL) {
@ -1470,7 +1473,7 @@ static int testDestroyDomain(virDomainPtr domain)
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
if (!privdom->persistent) {
virDomainRemoveInactive(&privconn->domains,
virDomainObjListRemove(privconn->domains,
privdom);
privdom = NULL;
}
@ -1493,7 +1496,7 @@ static int testResumeDomain(virDomainPtr domain)
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -1535,7 +1538,7 @@ static int testPauseDomain(virDomainPtr domain)
int state;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -1580,7 +1583,7 @@ static int testShutdownDomainFlags(virDomainPtr domain,
virCheckFlags(0, -1);
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
if (privdom == NULL) {
@ -1600,7 +1603,7 @@ static int testShutdownDomainFlags(virDomainPtr domain,
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
if (!privdom->persistent) {
virDomainRemoveInactive(&privconn->domains,
virDomainObjListRemove(privconn->domains,
privdom);
privdom = NULL;
}
@ -1630,7 +1633,7 @@ static int testRebootDomain(virDomainPtr domain,
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
if (privdom == NULL) {
@ -1675,7 +1678,7 @@ static int testRebootDomain(virDomainPtr domain,
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
if (!privdom->persistent) {
virDomainRemoveInactive(&privconn->domains,
virDomainObjListRemove(privconn->domains,
privdom);
privdom = NULL;
}
@ -1700,7 +1703,7 @@ static int testGetDomainInfo(virDomainPtr domain,
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -1741,7 +1744,7 @@ testDomainGetState(virDomainPtr domain,
virCheckFlags(0, -1);
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -1781,7 +1784,7 @@ testDomainSaveFlags(virDomainPtr domain, const char *path,
}
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
if (privdom == NULL) {
@ -1839,7 +1842,7 @@ testDomainSaveFlags(virDomainPtr domain, const char *path,
VIR_DOMAIN_EVENT_STOPPED_SAVED);
if (!privdom->persistent) {
virDomainRemoveInactive(&privconn->domains,
virDomainObjListRemove(privconn->domains,
privdom);
privdom = NULL;
}
@ -1940,13 +1943,14 @@ testDomainRestoreFlags(virConnectPtr conn,
if (!def)
goto cleanup;
if (virDomainObjIsDuplicate(&privconn->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(privconn->domains, def, 1) < 0)
goto cleanup;
if (testDomainGenerateIfnames(def) < 0)
goto cleanup;
if (!(dom = virDomainAssignDef(privconn->caps,
&privconn->domains, def, true)))
if (!(dom = virDomainObjListAdd(privconn->domains,
privconn->caps,
def, true)))
goto cleanup;
def = NULL;
@ -1990,7 +1994,7 @@ static int testDomainCoreDump(virDomainPtr domain,
virCheckFlags(VIR_DUMP_CRASH, -1);
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
if (privdom == NULL) {
@ -2023,7 +2027,7 @@ static int testDomainCoreDump(virDomainPtr domain,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_CRASHED);
if (!privdom->persistent) {
virDomainRemoveInactive(&privconn->domains,
virDomainObjListRemove(privconn->domains,
privdom);
privdom = NULL;
}
@ -2053,7 +2057,7 @@ static unsigned long long testGetMaxMemory(virDomainPtr domain) {
unsigned long long ret = 0;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -2078,7 +2082,7 @@ static int testSetMaxMemory(virDomainPtr domain,
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -2105,7 +2109,7 @@ static int testSetMemory(virDomainPtr domain,
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -2141,7 +2145,7 @@ testDomainGetVcpusFlags(virDomainPtr domain, unsigned int flags)
VIR_DOMAIN_VCPU_MAXIMUM, -1);
testDriverLock(privconn);
vm = virDomainFindByUUID(&privconn->domains, domain->uuid);
vm = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
testDriverUnlock(privconn);
if (!vm) {
@ -2202,7 +2206,7 @@ testDomainSetVcpusFlags(virDomainPtr domain, unsigned int nrCpus,
}
testDriverLock(privconn);
privdom = virDomainFindByUUID(&privconn->domains, domain->uuid);
privdom = virDomainObjListFindByUUID(privconn->domains, domain->uuid);
testDriverUnlock(privconn);
if (privdom == NULL) {
@ -2285,7 +2289,7 @@ static int testDomainGetVcpus(virDomainPtr domain,
unsigned long long statbase;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains, domain->name);
privdom = virDomainObjListFindByName(privconn->domains, domain->name);
testDriverUnlock(privconn);
if (privdom == NULL) {
@ -2371,7 +2375,7 @@ static int testDomainPinVcpu(virDomainPtr domain,
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains, domain->name);
privdom = virDomainObjListFindByName(privconn->domains, domain->name);
testDriverUnlock(privconn);
if (privdom == NULL) {
@ -2425,7 +2429,7 @@ static char *testDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
/* Flags checked by virDomainDefFormat */
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -2451,7 +2455,7 @@ static int testNumOfDefinedDomains(virConnectPtr conn) {
int count;
testDriverLock(privconn);
count = virDomainObjListNumOfDomains(&privconn->domains, 0);
count = virDomainObjListNumOfDomains(privconn->domains, 0);
testDriverUnlock(privconn);
return count;
@ -2466,7 +2470,7 @@ static int testListDefinedDomains(virConnectPtr conn,
testDriverLock(privconn);
memset(names, 0, sizeof(*names)*maxnames);
n = virDomainObjListGetInactiveNames(&privconn->domains, names, maxnames);
n = virDomainObjListGetInactiveNames(privconn->domains, names, maxnames);
testDriverUnlock(privconn);
return n;
@ -2487,13 +2491,14 @@ static virDomainPtr testDomainDefineXML(virConnectPtr conn,
VIR_DOMAIN_XML_INACTIVE)) == NULL)
goto cleanup;
if ((dupVM = virDomainObjIsDuplicate(&privconn->domains, def, 0)) < 0)
if ((dupVM = virDomainObjListIsDuplicate(privconn->domains, def, 0)) < 0)
goto cleanup;
if (testDomainGenerateIfnames(def) < 0)
goto cleanup;
if (!(dom = virDomainAssignDef(privconn->caps,
&privconn->domains, def, false)))
if (!(dom = virDomainObjListAdd(privconn->domains,
privconn->caps,
def, false)))
goto cleanup;
def = NULL;
dom->persistent = 1;
@ -2554,7 +2559,7 @@ static int testDomainCreateWithFlags(virDomainPtr domain, unsigned int flags) {
virCheckFlags(0, -1);
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
if (privdom == NULL) {
@ -2602,7 +2607,7 @@ static int testDomainUndefineFlags(virDomainPtr domain,
virCheckFlags(0, -1);
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
if (privdom == NULL) {
@ -2616,7 +2621,7 @@ static int testDomainUndefineFlags(virDomainPtr domain,
if (virDomainObjIsActive(privdom)) {
privdom->persistent = 0;
} else {
virDomainRemoveInactive(&privconn->domains,
virDomainObjListRemove(privconn->domains,
privdom);
privdom = NULL;
}
@ -2645,7 +2650,7 @@ static int testDomainGetAutostart(virDomainPtr domain,
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -2672,7 +2677,7 @@ static int testDomainSetAutostart(virDomainPtr domain,
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -2718,7 +2723,7 @@ testDomainGetSchedulerParamsFlags(virDomainPtr domain,
virCheckFlags(0, -1);
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -2768,7 +2773,7 @@ testDomainSetSchedulerParamsFlags(virDomainPtr domain,
return -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -2811,7 +2816,7 @@ static int testDomainBlockStats(virDomainPtr domain,
int ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -2858,7 +2863,7 @@ static int testDomainInterfaceStats(virDomainPtr domain,
int i, found = 0, ret = -1;
testDriverLock(privconn);
privdom = virDomainFindByName(&privconn->domains,
privdom = virDomainObjListFindByName(privconn->domains,
domain->name);
testDriverUnlock(privconn);
@ -5710,7 +5715,7 @@ static int testListAllDomains(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
testDriverLock(privconn);
ret = virDomainList(conn, privconn->domains.objs, domains, flags);
ret = virDomainObjListExport(privconn->domains, conn, domains, flags);
testDriverUnlock(privconn);
return ret;

View File

@ -51,7 +51,7 @@ struct uml_driver {
unsigned long umlVersion;
int nextvmid;
virDomainObjList domains;
virDomainObjListPtr domains;
size_t nactive;
char *configDir;

View File

@ -150,7 +150,7 @@ static int
umlVMFilterRebuild(virConnectPtr conn ATTRIBUTE_UNUSED,
virHashIterator iter, void *data)
{
virHashForEach(uml_driver->domains.objs, iter, data);
virHashForEach(uml_driver->domains->objs, iter, data);
return 0;
}
@ -223,7 +223,7 @@ umlAutostartConfigs(struct uml_driver *driver) {
struct umlAutostartData data = { driver, conn };
umlDriverLock(driver);
virHashForEach(driver->domains.objs, umlAutostartDomain, &data);
virHashForEach(driver->domains->objs, umlAutostartDomain, &data);
umlDriverUnlock(driver);
if (conn)
@ -336,7 +336,7 @@ reread:
name = (char *)&(e->name);
dom = virDomainFindByName(&driver->domains, name);
dom = virDomainObjListFindByName(driver->domains, name);
if (!dom) {
continue;
@ -355,7 +355,7 @@ reread:
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
if (!dom->persistent) {
virDomainRemoveInactive(&driver->domains,
virDomainObjListRemove(driver->domains,
dom);
dom = NULL;
}
@ -389,7 +389,7 @@ reread:
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_FAILED);
if (!dom->persistent) {
virDomainRemoveInactive(&driver->domains,
virDomainObjListRemove(driver->domains,
dom);
dom = NULL;
}
@ -402,7 +402,7 @@ reread:
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_FAILED);
if (!dom->persistent) {
virDomainRemoveInactive(&driver->domains,
virDomainObjListRemove(driver->domains,
dom);
dom = NULL;
}
@ -450,7 +450,7 @@ umlStartup(bool privileged,
uml_driver->nextvmid = 1;
uml_driver->inotifyWatch = -1;
if (virDomainObjListInit(&uml_driver->domains) < 0)
if (!(uml_driver->domains = virDomainObjListNew()))
goto error;
uml_driver->domainEventState = virDomainEventStateNew();
@ -535,8 +535,8 @@ umlStartup(bool privileged,
if (umlProcessAutoDestroyInit(uml_driver) < 0)
goto error;
if (virDomainLoadAllConfigs(uml_driver->caps,
&uml_driver->domains,
if (virDomainObjListLoadAllConfigs(uml_driver->domains,
uml_driver->caps,
uml_driver->configDir,
uml_driver->autostartDir,
0, 1 << VIR_DOMAIN_VIRT_UML,
@ -590,8 +590,8 @@ umlReload(void) {
return 0;
umlDriverLock(uml_driver);
virDomainLoadAllConfigs(uml_driver->caps,
&uml_driver->domains,
virDomainObjListLoadAllConfigs(uml_driver->domains,
uml_driver->caps,
uml_driver->configDir,
uml_driver->autostartDir,
0, 1 << VIR_DOMAIN_VIRT_UML,
@ -635,9 +635,9 @@ umlShutdown(void) {
/* shutdown active VMs
* XXX allow them to stay around & reconnect */
virHashForEach(uml_driver->domains.objs, umlShutdownOneVM, uml_driver);
virHashForEach(uml_driver->domains->objs, umlShutdownOneVM, uml_driver);
virDomainObjListDeinit(&uml_driver->domains);
virDomainObjListFree(uml_driver->domains);
virDomainEventStateFree(uml_driver->domainEventState);
@ -690,7 +690,7 @@ static void umlProcessAutoDestroyDom(void *payload,
return;
}
if (!(dom = virDomainFindByUUID(&data->driver->domains,
if (!(dom = virDomainObjListFindByUUID(data->driver->domains,
uuid))) {
VIR_DEBUG("No domain object to kill");
return;
@ -704,7 +704,7 @@ static void umlProcessAutoDestroyDom(void *payload,
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
if (dom && !dom->persistent)
virDomainRemoveInactive(&data->driver->domains, dom);
virDomainObjListRemove(data->driver->domains, dom);
if (dom)
virObjectUnlock(dom);
@ -1309,7 +1309,7 @@ static virDomainPtr umlDomainLookupByID(virConnectPtr conn,
virDomainPtr dom = NULL;
umlDriverLock(driver);
vm = virDomainFindByID(&driver->domains, id);
vm = virDomainObjListFindByID(driver->domains, id);
umlDriverUnlock(driver);
if (!vm) {
@ -1333,7 +1333,7 @@ static virDomainPtr umlDomainLookupByUUID(virConnectPtr conn,
virDomainPtr dom = NULL;
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, uuid);
vm = virDomainObjListFindByUUID(driver->domains, uuid);
umlDriverUnlock(driver);
if (!vm) {
@ -1357,7 +1357,7 @@ static virDomainPtr umlDomainLookupByName(virConnectPtr conn,
virDomainPtr dom = NULL;
umlDriverLock(driver);
vm = virDomainFindByName(&driver->domains, name);
vm = virDomainObjListFindByName(driver->domains, name);
umlDriverUnlock(driver);
if (!vm) {
@ -1382,7 +1382,7 @@ static int umlDomainIsActive(virDomainPtr dom)
int ret = -1;
umlDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -1404,7 +1404,7 @@ static int umlDomainIsPersistent(virDomainPtr dom)
int ret = -1;
umlDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -1425,7 +1425,7 @@ static int umlDomainIsUpdated(virDomainPtr dom)
int ret = -1;
umlDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -1469,7 +1469,7 @@ static int umlListDomains(virConnectPtr conn, int *ids, int nids) {
int n;
umlDriverLock(driver);
n = virDomainObjListGetActiveIDs(&driver->domains, ids, nids);
n = virDomainObjListGetActiveIDs(driver->domains, ids, nids);
umlDriverUnlock(driver);
return n;
@ -1479,7 +1479,7 @@ static int umlNumDomains(virConnectPtr conn) {
int n;
umlDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 1);
n = virDomainObjListNumOfDomains(driver->domains, 1);
umlDriverUnlock(driver);
return n;
@ -1500,11 +1500,11 @@ static virDomainPtr umlDomainCreate(virConnectPtr conn, const char *xml,
VIR_DOMAIN_XML_INACTIVE)))
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, def, 1) < 0)
goto cleanup;
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains,
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, false)))
goto cleanup;
def = NULL;
@ -1512,7 +1512,7 @@ static virDomainPtr umlDomainCreate(virConnectPtr conn, const char *xml,
if (umlStartVMDaemon(conn, driver, vm,
(flags & VIR_DOMAIN_START_AUTODESTROY)) < 0) {
virDomainAuditStart(vm, "booted", false);
virDomainRemoveInactive(&driver->domains,
virDomainObjListRemove(driver->domains,
vm);
vm = NULL;
goto cleanup;
@ -1546,7 +1546,7 @@ static int umlDomainShutdownFlags(virDomainPtr dom,
virCheckFlags(0, -1);
umlDriverLock(driver);
vm = virDomainFindByID(&driver->domains, dom->id);
vm = virDomainObjListFindByID(driver->domains, dom->id);
umlDriverUnlock(driver);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
@ -1588,7 +1588,7 @@ umlDomainDestroyFlags(virDomainPtr dom,
virCheckFlags(0, -1);
umlDriverLock(driver);
vm = virDomainFindByID(&driver->domains, dom->id);
vm = virDomainObjListFindByID(driver->domains, dom->id);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching id %d"), dom->id);
@ -1601,7 +1601,7 @@ umlDomainDestroyFlags(virDomainPtr dom,
VIR_DOMAIN_EVENT_STOPPED,
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
if (!vm->persistent) {
virDomainRemoveInactive(&driver->domains,
virDomainObjListRemove(driver->domains,
vm);
vm = NULL;
}
@ -1629,7 +1629,7 @@ static char *umlDomainGetOSType(virDomainPtr dom) {
char *type = NULL;
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, "%s",
@ -1655,7 +1655,7 @@ umlDomainGetMaxMemory(virDomainPtr dom)
unsigned long long ret = 0;
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!vm) {
@ -1680,7 +1680,7 @@ static int umlDomainSetMaxMemory(virDomainPtr dom, unsigned long newmax) {
int ret = -1;
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!vm) {
@ -1713,7 +1713,7 @@ static int umlDomainSetMemory(virDomainPtr dom, unsigned long newmem) {
int ret = -1;
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!vm) {
@ -1753,7 +1753,7 @@ static int umlDomainGetInfo(virDomainPtr dom,
int ret = -1;
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!vm) {
@ -1799,7 +1799,7 @@ umlDomainGetState(virDomainPtr dom,
virCheckFlags(0, -1);
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!vm) {
@ -1828,7 +1828,7 @@ static char *umlDomainGetXMLDesc(virDomainPtr dom,
/* Flags checked by virDomainDefFormat */
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!vm) {
@ -1854,7 +1854,7 @@ static int umlListDefinedDomains(virConnectPtr conn,
int n;
umlDriverLock(driver);
n = virDomainObjListGetInactiveNames(&driver->domains, names, nnames);
n = virDomainObjListGetInactiveNames(driver->domains, names, nnames);
umlDriverUnlock(driver);
return n;
@ -1865,7 +1865,7 @@ static int umlNumDefinedDomains(virConnectPtr conn) {
int n;
umlDriverLock(driver);
n = virDomainObjListNumOfDomains(&driver->domains, 0);
n = virDomainObjListNumOfDomains(driver->domains, 0);
umlDriverUnlock(driver);
return n;
@ -1881,7 +1881,7 @@ static int umlDomainStartWithFlags(virDomainPtr dom, unsigned int flags) {
virCheckFlags(VIR_DOMAIN_START_AUTODESTROY, -1);
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, "%s",
@ -1922,11 +1922,11 @@ static virDomainPtr umlDomainDefine(virConnectPtr conn, const char *xml) {
VIR_DOMAIN_XML_INACTIVE)))
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, def, 0) < 0)
if (virDomainObjListIsDuplicate(driver->domains, def, 0) < 0)
goto cleanup;
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains,
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
def, false)))
goto cleanup;
def = NULL;
@ -1934,7 +1934,7 @@ static virDomainPtr umlDomainDefine(virConnectPtr conn, const char *xml) {
if (virDomainSaveConfig(driver->configDir,
vm->newDef ? vm->newDef : vm->def) < 0) {
virDomainRemoveInactive(&driver->domains,
virDomainObjListRemove(driver->domains,
vm);
vm = NULL;
goto cleanup;
@ -1961,7 +1961,7 @@ static int umlDomainUndefineFlags(virDomainPtr dom,
virCheckFlags(0, -1);
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, "%s",
_("no domain with matching uuid"));
@ -1980,7 +1980,7 @@ static int umlDomainUndefineFlags(virDomainPtr dom,
if (virDomainObjIsActive(vm)) {
vm->persistent = 0;
} else {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -2059,7 +2059,7 @@ static int umlDomainAttachDevice(virDomainPtr dom, const char *xml)
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -2177,7 +2177,7 @@ static int umlDomainDetachDevice(virDomainPtr dom, const char *xml) {
int ret = -1;
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -2243,7 +2243,7 @@ static int umlDomainGetAutostart(virDomainPtr dom,
int ret = -1;
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, "%s",
@ -2269,7 +2269,7 @@ static int umlDomainSetAutostart(virDomainPtr dom,
int ret = -1;
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, "%s",
@ -2343,7 +2343,7 @@ umlDomainBlockPeek(virDomainPtr dom,
virCheckFlags(0, -1);
umlDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
umlDriverUnlock(driver);
if (!vm) {
@ -2412,7 +2412,7 @@ umlDomainOpenConsole(virDomainPtr dom,
umlDriverLock(driver);
virUUIDFormat(dom->uuid, uuidstr);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN,
_("no domain with matching uuid '%s'"), uuidstr);
@ -2557,7 +2557,7 @@ static int umlListAllDomains(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
umlDriverLock(driver);
ret = virDomainList(conn, driver->domains.objs, domains, flags);
ret = virDomainObjListExport(driver->domains, conn, domains, flags);
umlDriverUnlock(driver);
return ret;

View File

@ -43,7 +43,7 @@ vmwareFreeDriver(struct vmware_driver *driver)
return;
virMutexDestroy(&driver->lock);
virDomainObjListDeinit(&driver->domains);
virDomainObjListFree(driver->domains);
virCapabilitiesFree(driver->caps);
VIR_FREE(driver);
}
@ -177,8 +177,9 @@ vmwareLoadDomains(struct vmware_driver *driver)
goto cleanup;
}
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains, vmdef, false)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
vmdef, false)))
goto cleanup;
pDomain = vm->privateData;

View File

@ -37,7 +37,7 @@ struct vmware_driver {
virMutex lock;
virCapsPtr caps;
virDomainObjList domains;
virDomainObjListPtr domains;
int version;
int type;
};

View File

@ -128,7 +128,7 @@ vmwareOpen(virConnectPtr conn,
driver->type = STRNEQ(conn->uri->scheme, "vmwareplayer") ?
TYPE_WORKSTATION : TYPE_PLAYER;
if (virDomainObjListInit(&driver->domains) < 0)
if (!(driver->domains = virDomainObjListNew()))
goto cleanup;
if (!(driver->caps = vmwareCapsInit()))
@ -320,7 +320,7 @@ vmwareDomainDefineXML(virConnectPtr conn, const char *xml)
VIR_DOMAIN_XML_INACTIVE)) == NULL)
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, vmdef, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, vmdef, 1) < 0)
goto cleanup;
/* generate vmx file */
@ -339,8 +339,9 @@ vmwareDomainDefineXML(virConnectPtr conn, const char *xml)
}
/* assign def */
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains, vmdef, false)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
vmdef, false)))
goto cleanup;
pDomain = vm->privateData;
@ -382,7 +383,7 @@ vmwareDomainShutdownFlags(virDomainPtr dom,
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
virReportError(VIR_ERR_NO_DOMAIN, "%s",
@ -403,7 +404,7 @@ vmwareDomainShutdownFlags(virDomainPtr dom,
goto cleanup;
if (!vm->persistent) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -441,7 +442,7 @@ vmwareDomainSuspend(virDomainPtr dom)
}
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
vmwareDriverUnlock(driver);
if (!vm) {
@ -490,7 +491,7 @@ vmwareDomainResume(virDomainPtr dom)
}
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
vmwareDriverUnlock(driver);
if (!vm) {
@ -534,7 +535,7 @@ vmwareDomainReboot(virDomainPtr dom, unsigned int flags)
virCheckFlags(0, -1);
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
vmwareDriverUnlock(driver);
if (!vm) {
@ -591,7 +592,7 @@ vmwareDomainCreateXML(virConnectPtr conn, const char *xml,
VIR_DOMAIN_XML_INACTIVE)) == NULL)
goto cleanup;
if (virDomainObjIsDuplicate(&driver->domains, vmdef, 1) < 0)
if (virDomainObjListIsDuplicate(driver->domains, vmdef, 1) < 0)
goto cleanup;
/* generate vmx file */
@ -610,8 +611,9 @@ vmwareDomainCreateXML(virConnectPtr conn, const char *xml,
}
/* assign def */
if (!(vm = virDomainAssignDef(driver->caps,
&driver->domains, vmdef, false)))
if (!(vm = virDomainObjListAdd(driver->domains,
driver->caps,
vmdef, false)))
goto cleanup;
pDomain = vm->privateData;
@ -621,7 +623,7 @@ vmwareDomainCreateXML(virConnectPtr conn, const char *xml,
vmdef = NULL;
if (vmwareStartVM(driver, vm) < 0) {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
goto cleanup;
}
@ -651,7 +653,7 @@ vmwareDomainCreateWithFlags(virDomainPtr dom,
virCheckFlags(0, -1);
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(dom->uuid, uuidstr);
@ -695,7 +697,7 @@ vmwareDomainUndefineFlags(virDomainPtr dom,
virCheckFlags(0, -1);
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
if (!vm) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
@ -718,7 +720,7 @@ vmwareDomainUndefineFlags(virDomainPtr dom,
if (virDomainObjIsActive(vm)) {
vm->persistent = 0;
} else {
virDomainRemoveInactive(&driver->domains, vm);
virDomainObjListRemove(driver->domains, vm);
vm = NULL;
}
@ -745,7 +747,7 @@ vmwareDomainLookupByID(virConnectPtr conn, int id)
virDomainPtr dom = NULL;
vmwareDriverLock(driver);
vm = virDomainFindByID(&driver->domains, id);
vm = virDomainObjListFindByID(driver->domains, id);
vmwareDriverUnlock(driver);
if (!vm) {
@ -771,7 +773,7 @@ vmwareGetOSType(virDomainPtr dom)
char *ret = NULL;
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
vmwareDriverUnlock(driver);
if (!vm) {
@ -797,7 +799,7 @@ vmwareDomainLookupByUUID(virConnectPtr conn, const unsigned char *uuid)
virDomainPtr dom = NULL;
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, uuid);
vm = virDomainObjListFindByUUID(driver->domains, uuid);
vmwareDriverUnlock(driver);
if (!vm) {
@ -823,7 +825,7 @@ vmwareDomainLookupByName(virConnectPtr conn, const char *name)
virDomainPtr dom = NULL;
vmwareDriverLock(driver);
vm = virDomainFindByName(&driver->domains, name);
vm = virDomainObjListFindByName(driver->domains, name);
vmwareDriverUnlock(driver);
if (!vm) {
@ -849,7 +851,7 @@ vmwareDomainIsActive(virDomainPtr dom)
int ret = -1;
vmwareDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
vmwareDriverUnlock(driver);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -872,7 +874,7 @@ vmwareDomainIsPersistent(virDomainPtr dom)
int ret = -1;
vmwareDriverLock(driver);
obj = virDomainFindByUUID(&driver->domains, dom->uuid);
obj = virDomainObjListFindByUUID(driver->domains, dom->uuid);
vmwareDriverUnlock(driver);
if (!obj) {
virReportError(VIR_ERR_NO_DOMAIN, NULL);
@ -897,7 +899,7 @@ vmwareDomainGetXMLDesc(virDomainPtr dom, unsigned int flags)
/* Flags checked by virDomainDefFormat */
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
vmwareDriverUnlock(driver);
if (!vm) {
@ -966,8 +968,8 @@ vmwareNumDefinedDomains(virConnectPtr conn)
int n;
vmwareDriverLock(driver);
vmwareDomainObjListUpdateAll(&driver->domains, driver);
n = virDomainObjListNumOfDomains(&driver->domains, 0);
vmwareDomainObjListUpdateAll(driver->domains, driver);
n = virDomainObjListNumOfDomains(driver->domains, 0);
vmwareDriverUnlock(driver);
return n;
@ -980,8 +982,8 @@ vmwareNumDomains(virConnectPtr conn)
int n;
vmwareDriverLock(driver);
vmwareDomainObjListUpdateAll(&driver->domains, driver);
n = virDomainObjListNumOfDomains(&driver->domains, 1);
vmwareDomainObjListUpdateAll(driver->domains, driver);
n = virDomainObjListNumOfDomains(driver->domains, 1);
vmwareDriverUnlock(driver);
return n;
@ -995,8 +997,8 @@ vmwareListDomains(virConnectPtr conn, int *ids, int nids)
int n;
vmwareDriverLock(driver);
vmwareDomainObjListUpdateAll(&driver->domains, driver);
n = virDomainObjListGetActiveIDs(&driver->domains, ids, nids);
vmwareDomainObjListUpdateAll(driver->domains, driver);
n = virDomainObjListGetActiveIDs(driver->domains, ids, nids);
vmwareDriverUnlock(driver);
return n;
@ -1010,8 +1012,8 @@ vmwareListDefinedDomains(virConnectPtr conn,
int n;
vmwareDriverLock(driver);
vmwareDomainObjListUpdateAll(&driver->domains, driver);
n = virDomainObjListGetInactiveNames(&driver->domains, names, nnames);
vmwareDomainObjListUpdateAll(driver->domains, driver);
n = virDomainObjListGetInactiveNames(driver->domains, names, nnames);
vmwareDriverUnlock(driver);
return n;
}
@ -1024,7 +1026,7 @@ vmwareDomainGetInfo(virDomainPtr dom, virDomainInfoPtr info)
int ret = -1;
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
vmwareDriverUnlock(driver);
if (!vm) {
@ -1062,7 +1064,7 @@ vmwareDomainGetState(virDomainPtr dom,
virCheckFlags(0, -1);
vmwareDriverLock(driver);
vm = virDomainFindByUUID(&driver->domains, dom->uuid);
vm = virDomainObjListFindByUUID(driver->domains, dom->uuid);
vmwareDriverUnlock(driver);
if (!vm) {
@ -1100,8 +1102,8 @@ vmwareListAllDomains(virConnectPtr conn,
virCheckFlags(VIR_CONNECT_LIST_DOMAINS_FILTERS_ALL, -1);
vmwareDriverLock(driver);
vmwareDomainObjListUpdateAll(&driver->domains, driver);
ret = virDomainList(conn, driver->domains.objs, domains, flags);
vmwareDomainObjListUpdateAll(driver->domains, driver);
ret = virDomainObjListExport(driver->domains, conn, domains, flags);
vmwareDriverUnlock(driver);
return ret;
}