mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
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:
parent
b090aa7d55
commit
4f6ed6c33a
@ -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,8 +819,8 @@ static int virDomainObjListSearchID(const void *payload,
|
||||
return want;
|
||||
}
|
||||
|
||||
virDomainObjPtr virDomainFindByID(const virDomainObjListPtr doms,
|
||||
int id)
|
||||
virDomainObjPtr virDomainObjListFindByID(const virDomainObjListPtr doms,
|
||||
int id)
|
||||
{
|
||||
virDomainObjPtr obj;
|
||||
obj = virHashSearch(doms->objs, virDomainObjListSearchID, &id);
|
||||
@ -818,8 +830,8 @@ virDomainObjPtr virDomainFindByID(const virDomainObjListPtr doms,
|
||||
}
|
||||
|
||||
|
||||
virDomainObjPtr virDomainFindByUUID(const virDomainObjListPtr doms,
|
||||
const unsigned char *uuid)
|
||||
virDomainObjPtr virDomainObjListFindByUUID(const virDomainObjListPtr doms,
|
||||
const unsigned char *uuid)
|
||||
{
|
||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||
virDomainObjPtr obj;
|
||||
@ -846,8 +858,8 @@ static int virDomainObjListSearchName(const void *payload,
|
||||
return want;
|
||||
}
|
||||
|
||||
virDomainObjPtr virDomainFindByName(const virDomainObjListPtr doms,
|
||||
const char *name)
|
||||
virDomainObjPtr virDomainObjListFindByName(const virDomainObjListPtr doms,
|
||||
const char *name)
|
||||
{
|
||||
virDomainObjPtr obj;
|
||||
obj = virHashSearch(doms->objs, virDomainObjListSearchName, name);
|
||||
@ -1849,15 +1861,15 @@ void virDomainObjAssignDef(virDomainObjPtr domain,
|
||||
}
|
||||
}
|
||||
|
||||
virDomainObjPtr virDomainAssignDef(virCapsPtr caps,
|
||||
virDomainObjListPtr doms,
|
||||
const virDomainDefPtr def,
|
||||
bool live)
|
||||
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,8 +2001,8 @@ 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,
|
||||
virDomainObjPtr dom)
|
||||
void virDomainObjListRemove(virDomainObjListPtr doms,
|
||||
virDomainObjPtr dom)
|
||||
{
|
||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||
virUUIDFormat(dom->def->uuid, uuidstr);
|
||||
@ -14782,14 +14794,15 @@ cleanup:
|
||||
}
|
||||
|
||||
|
||||
static virDomainObjPtr virDomainLoadConfig(virCapsPtr caps,
|
||||
virDomainObjListPtr doms,
|
||||
const char *configDir,
|
||||
const char *autostartDir,
|
||||
const char *name,
|
||||
unsigned int expectedVirtTypes,
|
||||
virDomainLoadConfigNotify notify,
|
||||
void *opaque)
|
||||
static virDomainObjPtr
|
||||
virDomainObjListLoadConfig(virDomainObjListPtr doms,
|
||||
virCapsPtr caps,
|
||||
const char *configDir,
|
||||
const char *autostartDir,
|
||||
const char *name,
|
||||
unsigned int expectedVirtTypes,
|
||||
virDomainLoadConfigNotify notify,
|
||||
void *opaque)
|
||||
{
|
||||
char *configFile = NULL, *autostartLink = NULL;
|
||||
virDomainDefPtr def = NULL;
|
||||
@ -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,13 +14859,14 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static virDomainObjPtr virDomainLoadStatus(virCapsPtr caps,
|
||||
virDomainObjListPtr doms,
|
||||
const char *statusDir,
|
||||
const char *name,
|
||||
unsigned int expectedVirtTypes,
|
||||
virDomainLoadConfigNotify notify,
|
||||
void *opaque)
|
||||
static virDomainObjPtr
|
||||
virDomainObjListLoadStatus(virDomainObjListPtr doms,
|
||||
virCapsPtr caps,
|
||||
const char *statusDir,
|
||||
const char *name,
|
||||
unsigned int expectedVirtTypes,
|
||||
virDomainLoadConfigNotify notify,
|
||||
void *opaque)
|
||||
{
|
||||
char *statusFile = NULL;
|
||||
virDomainObjPtr obj = NULL;
|
||||
@ -14891,14 +14905,14 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int virDomainLoadAllConfigs(virCapsPtr caps,
|
||||
virDomainObjListPtr doms,
|
||||
const char *configDir,
|
||||
const char *autostartDir,
|
||||
int liveStatus,
|
||||
unsigned int expectedVirtTypes,
|
||||
virDomainLoadConfigNotify notify,
|
||||
void *opaque)
|
||||
int virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
|
||||
virCapsPtr caps,
|
||||
const char *configDir,
|
||||
const char *autostartDir,
|
||||
int liveStatus,
|
||||
unsigned int expectedVirtTypes,
|
||||
virDomainLoadConfigNotify notify,
|
||||
void *opaque)
|
||||
{
|
||||
DIR *dir;
|
||||
struct dirent *entry;
|
||||
@ -14927,22 +14941,22 @@ int virDomainLoadAllConfigs(virCapsPtr caps,
|
||||
kill the whole process */
|
||||
VIR_INFO("Loading config file '%s.xml'", entry->d_name);
|
||||
if (liveStatus)
|
||||
dom = virDomainLoadStatus(caps,
|
||||
doms,
|
||||
configDir,
|
||||
entry->d_name,
|
||||
expectedVirtTypes,
|
||||
notify,
|
||||
opaque);
|
||||
dom = virDomainObjListLoadStatus(doms,
|
||||
caps,
|
||||
configDir,
|
||||
entry->d_name,
|
||||
expectedVirtTypes,
|
||||
notify,
|
||||
opaque);
|
||||
else
|
||||
dom = virDomainLoadConfig(caps,
|
||||
doms,
|
||||
configDir,
|
||||
autostartDir,
|
||||
entry->d_name,
|
||||
expectedVirtTypes,
|
||||
notify,
|
||||
opaque);
|
||||
dom = virDomainObjListLoadConfig(doms,
|
||||
caps,
|
||||
configDir,
|
||||
autostartDir,
|
||||
entry->d_name,
|
||||
expectedVirtTypes,
|
||||
notify,
|
||||
opaque);
|
||||
if (dom) {
|
||||
virObjectUnlock(dom);
|
||||
if (!liveStatus)
|
||||
@ -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,16 +15077,16 @@ virDomainFSDefPtr virDomainGetRootFilesystem(virDomainDefPtr def)
|
||||
* 1 if domain is a duplicate
|
||||
*/
|
||||
int
|
||||
virDomainObjIsDuplicate(virDomainObjListPtr doms,
|
||||
virDomainDefPtr def,
|
||||
unsigned int check_active)
|
||||
virDomainObjListIsDuplicate(virDomainObjListPtr doms,
|
||||
virDomainDefPtr def,
|
||||
unsigned int check_active)
|
||||
{
|
||||
int ret = -1;
|
||||
int dupVM = 0;
|
||||
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,10 +15987,10 @@ cleanup:
|
||||
#undef MATCH
|
||||
|
||||
int
|
||||
virDomainList(virConnectPtr conn,
|
||||
virHashTablePtr domobjs,
|
||||
virDomainPtr **domains,
|
||||
unsigned int flags)
|
||||
virDomainObjListExport(virDomainObjListPtr doms,
|
||||
virConnectPtr conn,
|
||||
virDomainPtr **domains,
|
||||
unsigned int flags)
|
||||
{
|
||||
int ret = -1;
|
||||
int i;
|
||||
@ -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]);
|
||||
}
|
||||
|
@ -1907,15 +1907,15 @@ 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,
|
||||
int id);
|
||||
virDomainObjPtr virDomainFindByUUID(const virDomainObjListPtr doms,
|
||||
const unsigned char *uuid);
|
||||
virDomainObjPtr virDomainFindByName(const virDomainObjListPtr doms,
|
||||
const char *name);
|
||||
virDomainObjPtr virDomainObjListFindByID(const virDomainObjListPtr doms,
|
||||
int id);
|
||||
virDomainObjPtr virDomainObjListFindByUUID(const virDomainObjListPtr doms,
|
||||
const unsigned char *uuid);
|
||||
virDomainObjPtr virDomainObjListFindByName(const virDomainObjListPtr doms,
|
||||
const char *name);
|
||||
|
||||
bool virDomainObjTaint(virDomainObjPtr obj,
|
||||
enum virDomainTaintFlags taint);
|
||||
@ -1975,10 +1975,10 @@ 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,
|
||||
const virDomainDefPtr def,
|
||||
bool live);
|
||||
virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
|
||||
virCapsPtr caps,
|
||||
const virDomainDefPtr def,
|
||||
bool live);
|
||||
void virDomainObjAssignDef(virDomainObjPtr domain,
|
||||
const virDomainDefPtr def,
|
||||
bool live);
|
||||
@ -2000,8 +2000,8 @@ virDomainDefPtr virDomainDefCopy(virCapsPtr caps, virDomainDefPtr src,
|
||||
virDomainDefPtr
|
||||
virDomainObjCopyPersistentDef(virCapsPtr caps, virDomainObjPtr dom);
|
||||
|
||||
void virDomainRemoveInactive(virDomainObjListPtr doms,
|
||||
virDomainObjPtr dom);
|
||||
void virDomainObjListRemove(virDomainObjListPtr doms,
|
||||
virDomainObjPtr dom);
|
||||
|
||||
virDomainDeviceDefPtr virDomainDeviceDefParse(virCapsPtr caps,
|
||||
virDomainDefPtr def,
|
||||
@ -2138,14 +2138,14 @@ typedef void (*virDomainLoadConfigNotify)(virDomainObjPtr dom,
|
||||
int newDomain,
|
||||
void *opaque);
|
||||
|
||||
int virDomainLoadAllConfigs(virCapsPtr caps,
|
||||
virDomainObjListPtr doms,
|
||||
const char *configDir,
|
||||
const char *autostartDir,
|
||||
int liveStatus,
|
||||
unsigned int expectedVirtTypes,
|
||||
virDomainLoadConfigNotify notify,
|
||||
void *opaque);
|
||||
int virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
|
||||
virCapsPtr caps,
|
||||
const char *configDir,
|
||||
const char *autostartDir,
|
||||
int liveStatus,
|
||||
unsigned int expectedVirtTypes,
|
||||
virDomainLoadConfigNotify notify,
|
||||
void *opaque);
|
||||
|
||||
int virDomainDeleteConfig(const char *configDir,
|
||||
const char *autostartDir,
|
||||
@ -2163,9 +2163,9 @@ int virDomainFSIndexByName(virDomainDefPtr def, const char *name);
|
||||
int virDomainVideoDefaultType(virDomainDefPtr def);
|
||||
int virDomainVideoDefaultRAM(virDomainDefPtr def, int type);
|
||||
|
||||
int virDomainObjIsDuplicate(virDomainObjListPtr doms,
|
||||
virDomainDefPtr def,
|
||||
unsigned int check_active);
|
||||
int virDomainObjListIsDuplicate(virDomainObjListPtr doms,
|
||||
virDomainDefPtr def,
|
||||
unsigned int check_active);
|
||||
|
||||
int virDomainObjListNumOfDomains(virDomainObjListPtr doms, int 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);
|
||||
|
@ -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;
|
||||
|
@ -67,7 +67,7 @@ struct _libxlDriverPrivate {
|
||||
virStateInhibitCallback inhibitCallback;
|
||||
void *inhibitOpaque;
|
||||
|
||||
virDomainObjList domains;
|
||||
virDomainObjListPtr domains;
|
||||
|
||||
virDomainEventStatePtr domainEventState;
|
||||
|
||||
|
@ -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,29 +1233,29 @@ libxlStartup(bool privileged,
|
||||
libxl_driver->caps->privateDataFreeFunc = libxlDomainObjPrivateFree;
|
||||
|
||||
/* Load running domains first. */
|
||||
if (virDomainLoadAllConfigs(libxl_driver->caps,
|
||||
&libxl_driver->domains,
|
||||
libxl_driver->stateDir,
|
||||
libxl_driver->autostartDir,
|
||||
1, 1 << VIR_DOMAIN_VIRT_XEN,
|
||||
NULL, NULL) < 0)
|
||||
if (virDomainObjListLoadAllConfigs(libxl_driver->domains,
|
||||
libxl_driver->caps,
|
||||
libxl_driver->stateDir,
|
||||
libxl_driver->autostartDir,
|
||||
1, 1 << VIR_DOMAIN_VIRT_XEN,
|
||||
NULL, NULL) < 0)
|
||||
goto error;
|
||||
|
||||
libxlReconnectDomains(libxl_driver);
|
||||
|
||||
/* Then inactive persistent configs */
|
||||
if (virDomainLoadAllConfigs(libxl_driver->caps,
|
||||
&libxl_driver->domains,
|
||||
libxl_driver->configDir,
|
||||
libxl_driver->autostartDir,
|
||||
0, 1 << VIR_DOMAIN_VIRT_XEN,
|
||||
NULL, NULL) < 0)
|
||||
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,
|
||||
libxl_driver->configDir,
|
||||
libxl_driver->autostartDir,
|
||||
1, 1 << VIR_DOMAIN_VIRT_XEN,
|
||||
NULL, libxl_driver);
|
||||
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;
|
||||
|
@ -58,7 +58,7 @@ struct _virLXCDriver {
|
||||
virStateInhibitCallback inhibitCallback;
|
||||
void *inhibitOpaque;
|
||||
|
||||
virDomainObjList domains;
|
||||
virDomainObjListPtr domains;
|
||||
char *configDir;
|
||||
char *autostartDir;
|
||||
char *stateDir;
|
||||
|
@ -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,23 +1480,23 @@ static int lxcStartup(bool privileged,
|
||||
goto cleanup;
|
||||
|
||||
/* Get all the running persistent or transient configs first */
|
||||
if (virDomainLoadAllConfigs(lxc_driver->caps,
|
||||
&lxc_driver->domains,
|
||||
lxc_driver->stateDir,
|
||||
NULL,
|
||||
1, 1 << VIR_DOMAIN_VIRT_LXC,
|
||||
NULL, NULL) < 0)
|
||||
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,
|
||||
lxc_driver->configDir,
|
||||
lxc_driver->autostartDir,
|
||||
0, 1 << VIR_DOMAIN_VIRT_LXC,
|
||||
NULL, NULL) < 0)
|
||||
if (virDomainObjListLoadAllConfigs(lxc_driver->domains,
|
||||
lxc_driver->caps,
|
||||
lxc_driver->configDir,
|
||||
lxc_driver->autostartDir,
|
||||
0, 1 << VIR_DOMAIN_VIRT_LXC,
|
||||
NULL, NULL) < 0)
|
||||
goto cleanup;
|
||||
|
||||
lxcDriverUnlock(lxc_driver);
|
||||
@ -1536,12 +1538,12 @@ lxcReload(void) {
|
||||
return 0;
|
||||
|
||||
lxcDriverLock(lxc_driver);
|
||||
virDomainLoadAllConfigs(lxc_driver->caps,
|
||||
&lxc_driver->domains,
|
||||
lxc_driver->configDir,
|
||||
lxc_driver->autostartDir,
|
||||
0, 1 << VIR_DOMAIN_VIRT_LXC,
|
||||
lxcNotifyLoadDomain, lxc_driver);
|
||||
virDomainObjListLoadAllConfigs(lxc_driver->domains,
|
||||
lxc_driver->caps,
|
||||
lxc_driver->configDir,
|
||||
lxc_driver->autostartDir,
|
||||
0, 1 << VIR_DOMAIN_VIRT_LXC,
|
||||
lxcNotifyLoadDomain, lxc_driver);
|
||||
lxcDriverUnlock(lxc_driver);
|
||||
|
||||
return 0;
|
||||
@ -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];
|
||||
|
@ -85,8 +85,8 @@ static void virLXCProcessAutoDestroyDom(void *payload,
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(dom = virDomainFindByUUID(&data->driver->domains,
|
||||
uuid))) {
|
||||
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)
|
||||
|
@ -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;
|
||||
|
@ -45,7 +45,7 @@ struct openvz_driver {
|
||||
virMutex lock;
|
||||
|
||||
virCapsPtr caps;
|
||||
virDomainObjList domains;
|
||||
virDomainObjListPtr domains;
|
||||
int version;
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -39,7 +39,7 @@
|
||||
|
||||
struct _parallelsConn {
|
||||
virMutex lock;
|
||||
virDomainObjList domains;
|
||||
virDomainObjListPtr domains;
|
||||
virStoragePoolObjList pools;
|
||||
virNetworkObjList networks;
|
||||
virCapsPtr caps;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -169,7 +169,7 @@ struct _virQEMUDriver {
|
||||
virStateInhibitCallback inhibitCallback;
|
||||
void *inhibitOpaque;
|
||||
|
||||
virDomainObjList domains;
|
||||
virDomainObjListPtr domains;
|
||||
|
||||
char *qemuImgBinary;
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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,42 +863,42 @@ qemuStartup(bool privileged,
|
||||
goto error;
|
||||
|
||||
/* Get all the running persistent or transient configs first */
|
||||
if (virDomainLoadAllConfigs(qemu_driver->caps,
|
||||
&qemu_driver->domains,
|
||||
cfg->stateDir,
|
||||
NULL,
|
||||
1, QEMU_EXPECTED_VIRT_TYPES,
|
||||
NULL, NULL) < 0)
|
||||
if (virDomainObjListLoadAllConfigs(qemu_driver->domains,
|
||||
qemu_driver->caps,
|
||||
cfg->stateDir,
|
||||
NULL,
|
||||
1, QEMU_EXPECTED_VIRT_TYPES,
|
||||
NULL, NULL) < 0)
|
||||
goto error;
|
||||
|
||||
/* 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,
|
||||
cfg->configDir,
|
||||
cfg->autostartDir,
|
||||
0, QEMU_EXPECTED_VIRT_TYPES,
|
||||
NULL, NULL) < 0)
|
||||
if (virDomainObjListLoadAllConfigs(qemu_driver->domains,
|
||||
qemu_driver->caps,
|
||||
cfg->configDir,
|
||||
cfg->autostartDir,
|
||||
0, QEMU_EXPECTED_VIRT_TYPES,
|
||||
NULL, NULL) < 0)
|
||||
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,12 +959,12 @@ qemuReload(void) {
|
||||
|
||||
qemuDriverLock(qemu_driver);
|
||||
cfg = virQEMUDriverGetConfig(qemu_driver);
|
||||
virDomainLoadAllConfigs(qemu_driver->caps,
|
||||
&qemu_driver->domains,
|
||||
cfg->configDir,
|
||||
cfg->autostartDir,
|
||||
0, QEMU_EXPECTED_VIRT_TYPES,
|
||||
qemuNotifyLoadDomain, qemu_driver);
|
||||
virDomainObjListLoadAllConfigs(qemu_driver->domains,
|
||||
qemu_driver->caps,
|
||||
cfg->configDir,
|
||||
cfg->autostartDir,
|
||||
0, QEMU_EXPECTED_VIRT_TYPES,
|
||||
qemuNotifyLoadDomain, qemu_driver);
|
||||
qemuDriverUnlock(qemu_driver);
|
||||
virObjectUnref(cfg);
|
||||
return 0;
|
||||
@ -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,9 +1601,9 @@ static virDomainPtr qemuDomainCreate(virConnectPtr conn, const char *xml,
|
||||
if (qemuDomainAssignAddresses(def, caps, NULL) < 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;
|
||||
@ -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,
|
||||
def, true))) {
|
||||
/* virDomainAssignDef already set the error */
|
||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
||||
driver->caps,
|
||||
def, true))) {
|
||||
/* 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,9 +5632,9 @@ static virDomainPtr qemuDomainDefine(virConnectPtr conn, const char *xml) {
|
||||
vm->def = def;
|
||||
}
|
||||
} else {
|
||||
if (!(vm = virDomainAssignDef(driver->caps,
|
||||
&driver->domains,
|
||||
def, false))) {
|
||||
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,9 +12624,9 @@ static virDomainPtr qemuDomainAttach(virConnectPtr conn,
|
||||
if (qemuDomainAssignAddresses(def, caps, NULL) < 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;
|
||||
@ -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;
|
||||
|
@ -1639,12 +1639,12 @@ 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,
|
||||
def, true))) {
|
||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
||||
driver->caps,
|
||||
def, true))) {
|
||||
/* virDomainAssignDef already set the error */
|
||||
goto cleanup;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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,8 +1459,8 @@ static int testDestroyDomain(virDomainPtr domain)
|
||||
int ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
|
||||
if (privdom == NULL) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
@ -1470,8 +1473,8 @@ static int testDestroyDomain(virDomainPtr domain)
|
||||
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
|
||||
|
||||
if (!privdom->persistent) {
|
||||
virDomainRemoveInactive(&privconn->domains,
|
||||
privdom);
|
||||
virDomainObjListRemove(privconn->domains,
|
||||
privdom);
|
||||
privdom = NULL;
|
||||
}
|
||||
|
||||
@ -1493,8 +1496,8 @@ static int testResumeDomain(virDomainPtr domain)
|
||||
int ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -1535,8 +1538,8 @@ static int testPauseDomain(virDomainPtr domain)
|
||||
int state;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -1580,8 +1583,8 @@ static int testShutdownDomainFlags(virDomainPtr domain,
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
|
||||
if (privdom == NULL) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
@ -1600,8 +1603,8 @@ static int testShutdownDomainFlags(virDomainPtr domain,
|
||||
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
|
||||
|
||||
if (!privdom->persistent) {
|
||||
virDomainRemoveInactive(&privconn->domains,
|
||||
privdom);
|
||||
virDomainObjListRemove(privconn->domains,
|
||||
privdom);
|
||||
privdom = NULL;
|
||||
}
|
||||
|
||||
@ -1630,8 +1633,8 @@ static int testRebootDomain(virDomainPtr domain,
|
||||
int ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
|
||||
if (privdom == NULL) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
@ -1675,8 +1678,8 @@ static int testRebootDomain(virDomainPtr domain,
|
||||
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
|
||||
|
||||
if (!privdom->persistent) {
|
||||
virDomainRemoveInactive(&privconn->domains,
|
||||
privdom);
|
||||
virDomainObjListRemove(privconn->domains,
|
||||
privdom);
|
||||
privdom = NULL;
|
||||
}
|
||||
}
|
||||
@ -1700,8 +1703,8 @@ static int testGetDomainInfo(virDomainPtr domain,
|
||||
int ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -1741,8 +1744,8 @@ testDomainGetState(virDomainPtr domain,
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -1781,8 +1784,8 @@ testDomainSaveFlags(virDomainPtr domain, const char *path,
|
||||
}
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
|
||||
if (privdom == NULL) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
@ -1839,8 +1842,8 @@ testDomainSaveFlags(virDomainPtr domain, const char *path,
|
||||
VIR_DOMAIN_EVENT_STOPPED_SAVED);
|
||||
|
||||
if (!privdom->persistent) {
|
||||
virDomainRemoveInactive(&privconn->domains,
|
||||
privdom);
|
||||
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,8 +1994,8 @@ static int testDomainCoreDump(virDomainPtr domain,
|
||||
virCheckFlags(VIR_DUMP_CRASH, -1);
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
|
||||
if (privdom == NULL) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
@ -2023,8 +2027,8 @@ static int testDomainCoreDump(virDomainPtr domain,
|
||||
VIR_DOMAIN_EVENT_STOPPED,
|
||||
VIR_DOMAIN_EVENT_STOPPED_CRASHED);
|
||||
if (!privdom->persistent) {
|
||||
virDomainRemoveInactive(&privconn->domains,
|
||||
privdom);
|
||||
virDomainObjListRemove(privconn->domains,
|
||||
privdom);
|
||||
privdom = NULL;
|
||||
}
|
||||
}
|
||||
@ -2053,8 +2057,8 @@ static unsigned long long testGetMaxMemory(virDomainPtr domain) {
|
||||
unsigned long long ret = 0;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -2078,8 +2082,8 @@ static int testSetMaxMemory(virDomainPtr domain,
|
||||
int ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -2105,8 +2109,8 @@ static int testSetMemory(virDomainPtr domain,
|
||||
int ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -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,8 +2429,8 @@ static char *testDomainGetXMLDesc(virDomainPtr domain, unsigned int flags)
|
||||
/* Flags checked by virDomainDefFormat */
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -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,8 +2559,8 @@ static int testDomainCreateWithFlags(virDomainPtr domain, unsigned int flags) {
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
|
||||
if (privdom == NULL) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
@ -2602,8 +2607,8 @@ static int testDomainUndefineFlags(virDomainPtr domain,
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
|
||||
if (privdom == NULL) {
|
||||
virReportError(VIR_ERR_INVALID_ARG, __FUNCTION__);
|
||||
@ -2616,8 +2621,8 @@ static int testDomainUndefineFlags(virDomainPtr domain,
|
||||
if (virDomainObjIsActive(privdom)) {
|
||||
privdom->persistent = 0;
|
||||
} else {
|
||||
virDomainRemoveInactive(&privconn->domains,
|
||||
privdom);
|
||||
virDomainObjListRemove(privconn->domains,
|
||||
privdom);
|
||||
privdom = NULL;
|
||||
}
|
||||
|
||||
@ -2645,8 +2650,8 @@ static int testDomainGetAutostart(virDomainPtr domain,
|
||||
int ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -2672,8 +2677,8 @@ static int testDomainSetAutostart(virDomainPtr domain,
|
||||
int ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -2718,8 +2723,8 @@ testDomainGetSchedulerParamsFlags(virDomainPtr domain,
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -2768,8 +2773,8 @@ testDomainSetSchedulerParamsFlags(virDomainPtr domain,
|
||||
return -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -2811,8 +2816,8 @@ static int testDomainBlockStats(virDomainPtr domain,
|
||||
int ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -2858,8 +2863,8 @@ static int testDomainInterfaceStats(virDomainPtr domain,
|
||||
int i, found = 0, ret = -1;
|
||||
|
||||
testDriverLock(privconn);
|
||||
privdom = virDomainFindByName(&privconn->domains,
|
||||
domain->name);
|
||||
privdom = virDomainObjListFindByName(privconn->domains,
|
||||
domain->name);
|
||||
testDriverUnlock(privconn);
|
||||
|
||||
if (privdom == NULL) {
|
||||
@ -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;
|
||||
|
@ -51,7 +51,7 @@ struct uml_driver {
|
||||
unsigned long umlVersion;
|
||||
int nextvmid;
|
||||
|
||||
virDomainObjList domains;
|
||||
virDomainObjListPtr domains;
|
||||
size_t nactive;
|
||||
|
||||
char *configDir;
|
||||
|
@ -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,8 +355,8 @@ reread:
|
||||
VIR_DOMAIN_EVENT_STOPPED,
|
||||
VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN);
|
||||
if (!dom->persistent) {
|
||||
virDomainRemoveInactive(&driver->domains,
|
||||
dom);
|
||||
virDomainObjListRemove(driver->domains,
|
||||
dom);
|
||||
dom = NULL;
|
||||
}
|
||||
} else if (e->mask & (IN_CREATE | IN_MODIFY)) {
|
||||
@ -389,8 +389,8 @@ reread:
|
||||
VIR_DOMAIN_EVENT_STOPPED,
|
||||
VIR_DOMAIN_EVENT_STOPPED_FAILED);
|
||||
if (!dom->persistent) {
|
||||
virDomainRemoveInactive(&driver->domains,
|
||||
dom);
|
||||
virDomainObjListRemove(driver->domains,
|
||||
dom);
|
||||
dom = NULL;
|
||||
}
|
||||
} else if (umlIdentifyChrPTY(driver, dom) < 0) {
|
||||
@ -402,8 +402,8 @@ reread:
|
||||
VIR_DOMAIN_EVENT_STOPPED,
|
||||
VIR_DOMAIN_EVENT_STOPPED_FAILED);
|
||||
if (!dom->persistent) {
|
||||
virDomainRemoveInactive(&driver->domains,
|
||||
dom);
|
||||
virDomainObjListRemove(driver->domains,
|
||||
dom);
|
||||
dom = NULL;
|
||||
}
|
||||
}
|
||||
@ -450,7 +450,7 @@ umlStartup(bool privileged,
|
||||
uml_driver->nextvmid = 1;
|
||||
uml_driver->inotifyWatch = -1;
|
||||
|
||||
if (virDomainObjListInit(¨_driver->domains) < 0)
|
||||
if (!(uml_driver->domains = virDomainObjListNew()))
|
||||
goto error;
|
||||
|
||||
uml_driver->domainEventState = virDomainEventStateNew();
|
||||
@ -535,12 +535,12 @@ umlStartup(bool privileged,
|
||||
if (umlProcessAutoDestroyInit(uml_driver) < 0)
|
||||
goto error;
|
||||
|
||||
if (virDomainLoadAllConfigs(uml_driver->caps,
|
||||
¨_driver->domains,
|
||||
uml_driver->configDir,
|
||||
uml_driver->autostartDir,
|
||||
0, 1 << VIR_DOMAIN_VIRT_UML,
|
||||
NULL, NULL) < 0)
|
||||
if (virDomainObjListLoadAllConfigs(uml_driver->domains,
|
||||
uml_driver->caps,
|
||||
uml_driver->configDir,
|
||||
uml_driver->autostartDir,
|
||||
0, 1 << VIR_DOMAIN_VIRT_UML,
|
||||
NULL, NULL) < 0)
|
||||
goto error;
|
||||
|
||||
umlDriverUnlock(uml_driver);
|
||||
@ -590,12 +590,12 @@ umlReload(void) {
|
||||
return 0;
|
||||
|
||||
umlDriverLock(uml_driver);
|
||||
virDomainLoadAllConfigs(uml_driver->caps,
|
||||
¨_driver->domains,
|
||||
uml_driver->configDir,
|
||||
uml_driver->autostartDir,
|
||||
0, 1 << VIR_DOMAIN_VIRT_UML,
|
||||
umlNotifyLoadDomain, uml_driver);
|
||||
virDomainObjListLoadAllConfigs(uml_driver->domains,
|
||||
uml_driver->caps,
|
||||
uml_driver->configDir,
|
||||
uml_driver->autostartDir,
|
||||
0, 1 << VIR_DOMAIN_VIRT_UML,
|
||||
umlNotifyLoadDomain, uml_driver);
|
||||
umlDriverUnlock(uml_driver);
|
||||
|
||||
return 0;
|
||||
@ -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(¨_driver->domains);
|
||||
virDomainObjListFree(uml_driver->domains);
|
||||
|
||||
virDomainEventStateFree(uml_driver->domainEventState);
|
||||
|
||||
@ -690,8 +690,8 @@ static void umlProcessAutoDestroyDom(void *payload,
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(dom = virDomainFindByUUID(&data->driver->domains,
|
||||
uuid))) {
|
||||
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,20 +1500,20 @@ 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,
|
||||
def, false)))
|
||||
if (!(vm = virDomainObjListAdd(driver->domains,
|
||||
driver->caps,
|
||||
def, false)))
|
||||
goto cleanup;
|
||||
def = NULL;
|
||||
|
||||
if (umlStartVMDaemon(conn, driver, vm,
|
||||
(flags & VIR_DOMAIN_START_AUTODESTROY)) < 0) {
|
||||
virDomainAuditStart(vm, "booted", false);
|
||||
virDomainRemoveInactive(&driver->domains,
|
||||
vm);
|
||||
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,8 +1601,8 @@ umlDomainDestroyFlags(virDomainPtr dom,
|
||||
VIR_DOMAIN_EVENT_STOPPED,
|
||||
VIR_DOMAIN_EVENT_STOPPED_DESTROYED);
|
||||
if (!vm->persistent) {
|
||||
virDomainRemoveInactive(&driver->domains,
|
||||
vm);
|
||||
virDomainObjListRemove(driver->domains,
|
||||
vm);
|
||||
vm = NULL;
|
||||
}
|
||||
ret = 0;
|
||||
@ -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,20 +1922,20 @@ 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,
|
||||
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;
|
||||
}
|
||||
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -37,7 +37,7 @@ struct vmware_driver {
|
||||
virMutex lock;
|
||||
virCapsPtr caps;
|
||||
|
||||
virDomainObjList domains;
|
||||
virDomainObjListPtr domains;
|
||||
int version;
|
||||
int type;
|
||||
};
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user