mirror of https://gitee.com/openkylin/libvirt.git
network_conf: Make virNetworkObj actually virObject
So far it's just a structure which happens to have 'Obj' in its name, but otherwise it not related to virObject at all. No reference counting, not virObjectLock(), nothing. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
8529d5ec6b
commit
ea57049156
2
cfg.mk
2
cfg.mk
|
@ -160,7 +160,6 @@ useless_free_options = \
|
||||||
--name=virNWFilterRuleDefFree \
|
--name=virNWFilterRuleDefFree \
|
||||||
--name=virNWFilterRuleInstFree \
|
--name=virNWFilterRuleInstFree \
|
||||||
--name=virNetworkDefFree \
|
--name=virNetworkDefFree \
|
||||||
--name=virNetworkObjFree \
|
|
||||||
--name=virNodeDeviceDefFree \
|
--name=virNodeDeviceDefFree \
|
||||||
--name=virNodeDeviceObjFree \
|
--name=virNodeDeviceObjFree \
|
||||||
--name=virObjectUnref \
|
--name=virObjectUnref \
|
||||||
|
@ -249,7 +248,6 @@ useless_free_options = \
|
||||||
# y virNetworkDefFree
|
# y virNetworkDefFree
|
||||||
# n virNetworkFree (returns int)
|
# n virNetworkFree (returns int)
|
||||||
# n virNetworkFreeName (returns int)
|
# n virNetworkFreeName (returns int)
|
||||||
# y virNetworkObjFree
|
|
||||||
# n virNodeDevCapsDefFree FIXME
|
# n virNodeDevCapsDefFree FIXME
|
||||||
# y virNodeDeviceDefFree
|
# y virNodeDeviceDefFree
|
||||||
# n virNodeDeviceFree (returns int)
|
# n virNodeDeviceFree (returns int)
|
||||||
|
|
|
@ -79,11 +79,19 @@ VIR_ENUM_IMPL(virNetworkForwardDriverName,
|
||||||
VIR_ENUM_IMPL(virNetworkTaint, VIR_NETWORK_TAINT_LAST,
|
VIR_ENUM_IMPL(virNetworkTaint, VIR_NETWORK_TAINT_LAST,
|
||||||
"hook-script");
|
"hook-script");
|
||||||
|
|
||||||
|
static virClassPtr virNetworkObjClass;
|
||||||
static virClassPtr virNetworkObjListClass;
|
static virClassPtr virNetworkObjListClass;
|
||||||
|
static void virNetworkObjDispose(void *obj);
|
||||||
static void virNetworkObjListDispose(void *obj);
|
static void virNetworkObjListDispose(void *obj);
|
||||||
|
|
||||||
static int virNetworkObjOnceInit(void)
|
static int virNetworkObjOnceInit(void)
|
||||||
{
|
{
|
||||||
|
if (!(virNetworkObjClass = virClassNew(virClassForObjectLockable(),
|
||||||
|
"virNetworkObj",
|
||||||
|
sizeof(virNetworkObj),
|
||||||
|
virNetworkObjDispose)))
|
||||||
|
return -1;
|
||||||
|
|
||||||
if (!(virNetworkObjListClass = virClassNew(virClassForObject(),
|
if (!(virNetworkObjListClass = virClassNew(virClassForObject(),
|
||||||
"virNetworkObjList",
|
"virNetworkObjList",
|
||||||
sizeof(virNetworkObjList),
|
sizeof(virNetworkObjList),
|
||||||
|
@ -95,11 +103,30 @@ static int virNetworkObjOnceInit(void)
|
||||||
|
|
||||||
VIR_ONCE_GLOBAL_INIT(virNetworkObj)
|
VIR_ONCE_GLOBAL_INIT(virNetworkObj)
|
||||||
|
|
||||||
static void
|
virNetworkObjPtr
|
||||||
virNetworkObjListDataFree(void *payload, const void *name ATTRIBUTE_UNUSED)
|
virNetworkObjNew(void)
|
||||||
{
|
{
|
||||||
virNetworkObjPtr obj = payload;
|
virNetworkObjPtr net;
|
||||||
virNetworkObjFree(obj);
|
|
||||||
|
if (virNetworkObjInitialize() < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (!(net = virObjectLockableNew(virNetworkObjClass)))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (!(net->class_id = virBitmapNew(CLASS_ID_BITMAP_SIZE)))
|
||||||
|
goto error;
|
||||||
|
|
||||||
|
/* The first three class IDs are already taken */
|
||||||
|
ignore_value(virBitmapSetBit(net->class_id, 0));
|
||||||
|
ignore_value(virBitmapSetBit(net->class_id, 1));
|
||||||
|
ignore_value(virBitmapSetBit(net->class_id, 2));
|
||||||
|
|
||||||
|
return net;
|
||||||
|
|
||||||
|
error:
|
||||||
|
virObjectUnref(net);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
virNetworkObjListPtr virNetworkObjListNew(void)
|
virNetworkObjListPtr virNetworkObjListNew(void)
|
||||||
|
@ -112,7 +139,7 @@ virNetworkObjListPtr virNetworkObjListNew(void)
|
||||||
if (!(nets = virObjectNew(virNetworkObjListClass)))
|
if (!(nets = virObjectNew(virNetworkObjListClass)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (!(nets->objs = virHashCreate(50, virNetworkObjListDataFree))) {
|
if (!(nets->objs = virHashCreate(50, virObjectFreeHashData))) {
|
||||||
virObjectUnref(nets);
|
virObjectUnref(nets);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -130,7 +157,7 @@ virNetworkObjPtr virNetworkObjFindByUUID(virNetworkObjListPtr nets,
|
||||||
|
|
||||||
ret = virHashLookup(nets->objs, uuidstr);
|
ret = virHashLookup(nets->objs, uuidstr);
|
||||||
if (ret)
|
if (ret)
|
||||||
virNetworkObjLock(ret);
|
virObjectLock(ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,10 +169,10 @@ virNetworkObjSearchName(const void *payload,
|
||||||
virNetworkObjPtr net = (virNetworkObjPtr) payload;
|
virNetworkObjPtr net = (virNetworkObjPtr) payload;
|
||||||
int want = 0;
|
int want = 0;
|
||||||
|
|
||||||
virNetworkObjLock(net);
|
virObjectLock(net);
|
||||||
if (STREQ(net->def->name, (const char *)data))
|
if (STREQ(net->def->name, (const char *)data))
|
||||||
want = 1;
|
want = 1;
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
return want;
|
return want;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +183,7 @@ virNetworkObjPtr virNetworkObjFindByName(virNetworkObjListPtr nets,
|
||||||
|
|
||||||
ret = virHashSearch(nets->objs, virNetworkObjSearchName, name);
|
ret = virHashSearch(nets->objs, virNetworkObjSearchName, name);
|
||||||
if (ret)
|
if (ret)
|
||||||
virNetworkObjLock(ret);
|
virObjectLock(ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -318,18 +345,14 @@ virNetworkDefFree(virNetworkDefPtr def)
|
||||||
VIR_FREE(def);
|
VIR_FREE(def);
|
||||||
}
|
}
|
||||||
|
|
||||||
void virNetworkObjFree(virNetworkObjPtr net)
|
static void
|
||||||
|
virNetworkObjDispose(void *obj)
|
||||||
{
|
{
|
||||||
if (!net)
|
virNetworkObjPtr net = obj;
|
||||||
return;
|
|
||||||
|
|
||||||
virNetworkDefFree(net->def);
|
virNetworkDefFree(net->def);
|
||||||
virNetworkDefFree(net->newDef);
|
virNetworkDefFree(net->newDef);
|
||||||
virBitmapFree(net->class_id);
|
virBitmapFree(net->class_id);
|
||||||
|
|
||||||
virMutexDestroy(&net->lock);
|
|
||||||
|
|
||||||
VIR_FREE(net);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -427,35 +450,21 @@ virNetworkAssignDef(virNetworkObjListPtr nets,
|
||||||
return network;
|
return network;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (VIR_ALLOC(network) < 0)
|
if (!(network = virNetworkObjNew()))
|
||||||
return NULL;
|
return NULL;
|
||||||
if (virMutexInit(&network->lock) < 0) {
|
virObjectLock(network);
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
"%s", _("cannot initialize mutex"));
|
|
||||||
VIR_FREE(network);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
virNetworkObjLock(network);
|
|
||||||
|
|
||||||
if (!(network->class_id = virBitmapNew(CLASS_ID_BITMAP_SIZE)))
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
virUUIDFormat(def->uuid, uuidstr);
|
virUUIDFormat(def->uuid, uuidstr);
|
||||||
if (virHashAddEntry(nets->objs, uuidstr, network) < 0)
|
if (virHashAddEntry(nets->objs, uuidstr, network) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
/* The first three class IDs are already taken */
|
|
||||||
ignore_value(virBitmapSetBit(network->class_id, 0));
|
|
||||||
ignore_value(virBitmapSetBit(network->class_id, 1));
|
|
||||||
ignore_value(virBitmapSetBit(network->class_id, 2));
|
|
||||||
|
|
||||||
network->def = def;
|
network->def = def;
|
||||||
network->persistent = !live;
|
network->persistent = !live;
|
||||||
return network;
|
return network;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
virNetworkObjFree(network);
|
virObjectUnref(network);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -624,7 +633,7 @@ void virNetworkRemoveInactive(virNetworkObjListPtr nets,
|
||||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
|
|
||||||
virUUIDFormat(net->def->uuid, uuidstr);
|
virUUIDFormat(net->def->uuid, uuidstr);
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
virHashRemoveEntry(nets->objs, uuidstr);
|
virHashRemoveEntry(nets->objs, uuidstr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3026,7 +3035,7 @@ virNetworkLoadAllState(virNetworkObjListPtr nets,
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((net = virNetworkLoadState(nets, stateDir, entry->d_name)))
|
if ((net = virNetworkLoadState(nets, stateDir, entry->d_name)))
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
}
|
}
|
||||||
|
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
|
@ -3067,7 +3076,7 @@ int virNetworkLoadAllConfigs(virNetworkObjListPtr nets,
|
||||||
autostartDir,
|
autostartDir,
|
||||||
entry->d_name);
|
entry->d_name);
|
||||||
if (net)
|
if (net)
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
}
|
}
|
||||||
|
|
||||||
closedir(dir);
|
closedir(dir);
|
||||||
|
@ -3129,12 +3138,12 @@ virNetworkBridgeInUseHelper(const void *payload,
|
||||||
virNetworkObjPtr net = (virNetworkObjPtr) payload;
|
virNetworkObjPtr net = (virNetworkObjPtr) payload;
|
||||||
const struct virNetworkBridgeInUseHelperData *data = opaque;
|
const struct virNetworkBridgeInUseHelperData *data = opaque;
|
||||||
|
|
||||||
virNetworkObjLock(net);
|
virObjectLock(net);
|
||||||
if (net->def->bridge &&
|
if (net->def->bridge &&
|
||||||
STREQ(net->def->bridge, data->bridge) &&
|
STREQ(net->def->bridge, data->bridge) &&
|
||||||
!(data->skipname && STREQ(net->def->name, data->skipname)))
|
!(data->skipname && STREQ(net->def->name, data->skipname)))
|
||||||
ret = 1;
|
ret = 1;
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4252,21 +4261,11 @@ virNetworkObjIsDuplicate(virNetworkObjListPtr nets,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (net)
|
if (net)
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void virNetworkObjLock(virNetworkObjPtr obj)
|
|
||||||
{
|
|
||||||
virMutexLock(&obj->lock);
|
|
||||||
}
|
|
||||||
|
|
||||||
void virNetworkObjUnlock(virNetworkObjPtr obj)
|
|
||||||
{
|
|
||||||
virMutexUnlock(&obj->lock);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define MATCH(FLAG) (flags & (FLAG))
|
#define MATCH(FLAG) (flags & (FLAG))
|
||||||
static bool
|
static bool
|
||||||
virNetworkMatch(virNetworkObjPtr netobj,
|
virNetworkMatch(virNetworkObjPtr netobj,
|
||||||
|
@ -4321,7 +4320,7 @@ virNetworkObjListPopulate(void *payload,
|
||||||
if (data->error)
|
if (data->error)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
virNetworkObjLock(obj);
|
virObjectLock(obj);
|
||||||
|
|
||||||
if (data->filter &&
|
if (data->filter &&
|
||||||
!data->filter(data->conn, obj->def))
|
!data->filter(data->conn, obj->def))
|
||||||
|
@ -4343,7 +4342,7 @@ virNetworkObjListPopulate(void *payload,
|
||||||
data->nets[data->nnets++] = net;
|
data->nets[data->nnets++] = net;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -4443,7 +4442,7 @@ virNetworkObjListGetHelper(void *payload,
|
||||||
data->got == data->nnames)
|
data->got == data->nnames)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
virNetworkObjLock(obj);
|
virObjectLock(obj);
|
||||||
|
|
||||||
if (data->filter &&
|
if (data->filter &&
|
||||||
!data->filter(data->conn, obj->def))
|
!data->filter(data->conn, obj->def))
|
||||||
|
@ -4460,7 +4459,7 @@ virNetworkObjListGetHelper(void *payload,
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -4517,9 +4516,9 @@ virNetworkObjListPruneHelper(const void *payload,
|
||||||
virNetworkObjPtr obj = (virNetworkObjPtr) payload;
|
virNetworkObjPtr obj = (virNetworkObjPtr) payload;
|
||||||
int want = 0;
|
int want = 0;
|
||||||
|
|
||||||
virNetworkObjLock(obj);
|
virObjectLock(obj);
|
||||||
want = virNetworkMatch(obj, data->flags);
|
want = virNetworkMatch(obj, data->flags);
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
return want;
|
return want;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -258,7 +258,7 @@ struct _virNetworkDef {
|
||||||
typedef struct _virNetworkObj virNetworkObj;
|
typedef struct _virNetworkObj virNetworkObj;
|
||||||
typedef virNetworkObj *virNetworkObjPtr;
|
typedef virNetworkObj *virNetworkObjPtr;
|
||||||
struct _virNetworkObj {
|
struct _virNetworkObj {
|
||||||
virMutex lock;
|
virObjectLockable parent;
|
||||||
|
|
||||||
pid_t dnsmasqPid;
|
pid_t dnsmasqPid;
|
||||||
pid_t radvdPid;
|
pid_t radvdPid;
|
||||||
|
@ -275,6 +275,8 @@ struct _virNetworkObj {
|
||||||
unsigned int taint;
|
unsigned int taint;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virNetworkObjPtr virNetworkObjNew(void);
|
||||||
|
|
||||||
typedef struct _virNetworkObjList virNetworkObjList;
|
typedef struct _virNetworkObjList virNetworkObjList;
|
||||||
typedef virNetworkObjList *virNetworkObjListPtr;
|
typedef virNetworkObjList *virNetworkObjListPtr;
|
||||||
|
|
||||||
|
@ -305,7 +307,6 @@ bool virNetworkObjTaint(virNetworkObjPtr obj,
|
||||||
virNetworkTaintFlags taint);
|
virNetworkTaintFlags taint);
|
||||||
|
|
||||||
void virNetworkDefFree(virNetworkDefPtr def);
|
void virNetworkDefFree(virNetworkDefPtr def);
|
||||||
void virNetworkObjFree(virNetworkObjPtr net);
|
|
||||||
|
|
||||||
typedef bool (*virNetworkObjListFilter)(virConnectPtr conn,
|
typedef bool (*virNetworkObjListFilter)(virConnectPtr conn,
|
||||||
virNetworkDefPtr def);
|
virNetworkDefPtr def);
|
||||||
|
@ -412,9 +413,6 @@ int virNetworkObjIsDuplicate(virNetworkObjListPtr nets,
|
||||||
virNetworkDefPtr def,
|
virNetworkDefPtr def,
|
||||||
bool check_active);
|
bool check_active);
|
||||||
|
|
||||||
void virNetworkObjLock(virNetworkObjPtr obj);
|
|
||||||
void virNetworkObjUnlock(virNetworkObjPtr obj);
|
|
||||||
|
|
||||||
VIR_ENUM_DECL(virNetworkForward)
|
VIR_ENUM_DECL(virNetworkForward)
|
||||||
|
|
||||||
# define VIR_CONNECT_LIST_NETWORKS_FILTERS_ACTIVE \
|
# define VIR_CONNECT_LIST_NETWORKS_FILTERS_ACTIVE \
|
||||||
|
|
|
@ -565,7 +565,6 @@ virNetworkLoadAllState;
|
||||||
virNetworkObjAssignDef;
|
virNetworkObjAssignDef;
|
||||||
virNetworkObjFindByName;
|
virNetworkObjFindByName;
|
||||||
virNetworkObjFindByUUID;
|
virNetworkObjFindByUUID;
|
||||||
virNetworkObjFree;
|
|
||||||
virNetworkObjGetPersistentDef;
|
virNetworkObjGetPersistentDef;
|
||||||
virNetworkObjIsDuplicate;
|
virNetworkObjIsDuplicate;
|
||||||
virNetworkObjListExport;
|
virNetworkObjListExport;
|
||||||
|
@ -574,11 +573,10 @@ virNetworkObjListGetNames;
|
||||||
virNetworkObjListNew;
|
virNetworkObjListNew;
|
||||||
virNetworkObjListNumOfNetworks;
|
virNetworkObjListNumOfNetworks;
|
||||||
virNetworkObjListPrune;
|
virNetworkObjListPrune;
|
||||||
virNetworkObjLock;
|
virNetworkObjNew;
|
||||||
virNetworkObjReplacePersistentDef;
|
virNetworkObjReplacePersistentDef;
|
||||||
virNetworkObjSetDefTransient;
|
virNetworkObjSetDefTransient;
|
||||||
virNetworkObjTaint;
|
virNetworkObjTaint;
|
||||||
virNetworkObjUnlock;
|
|
||||||
virNetworkObjUnsetDefTransient;
|
virNetworkObjUnsetDefTransient;
|
||||||
virNetworkObjUpdate;
|
virNetworkObjUpdate;
|
||||||
virNetworkRemoveInactive;
|
virNetworkRemoveInactive;
|
||||||
|
|
|
@ -348,9 +348,9 @@ networkUpdateState(virNetworkObjPtr obj,
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
virNetworkObjLock(obj);
|
virObjectLock(obj);
|
||||||
if (!virNetworkObjIsActive(obj)) {
|
if (!virNetworkObjIsActive(obj)) {
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -403,7 +403,7 @@ networkUpdateState(virNetworkObjPtr obj,
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -413,7 +413,7 @@ networkAutostartConfig(virNetworkObjPtr net,
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
virNetworkObjLock(net);
|
virObjectLock(net);
|
||||||
if (net->autostart &&
|
if (net->autostart &&
|
||||||
!virNetworkObjIsActive(net) &&
|
!virNetworkObjIsActive(net) &&
|
||||||
networkStartNetwork(net) < 0)
|
networkStartNetwork(net) < 0)
|
||||||
|
@ -421,7 +421,7 @@ networkAutostartConfig(virNetworkObjPtr net,
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1745,7 +1745,7 @@ networkRefreshDaemonsHelper(virNetworkObjPtr net,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
|
|
||||||
virNetworkObjLock(net);
|
virObjectLock(net);
|
||||||
if (virNetworkObjIsActive(net) &&
|
if (virNetworkObjIsActive(net) &&
|
||||||
((net->def->forward.type == VIR_NETWORK_FORWARD_NONE) ||
|
((net->def->forward.type == VIR_NETWORK_FORWARD_NONE) ||
|
||||||
(net->def->forward.type == VIR_NETWORK_FORWARD_NAT) ||
|
(net->def->forward.type == VIR_NETWORK_FORWARD_NAT) ||
|
||||||
|
@ -1759,7 +1759,7 @@ networkRefreshDaemonsHelper(virNetworkObjPtr net,
|
||||||
networkRefreshDhcpDaemon(net);
|
networkRefreshDhcpDaemon(net);
|
||||||
networkRefreshRadvd(net);
|
networkRefreshRadvd(net);
|
||||||
}
|
}
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1780,7 +1780,7 @@ networkReloadFirewallRulesHelper(virNetworkObjPtr net,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
|
|
||||||
virNetworkObjLock(net);
|
virObjectLock(net);
|
||||||
if (virNetworkObjIsActive(net) &&
|
if (virNetworkObjIsActive(net) &&
|
||||||
((net->def->forward.type == VIR_NETWORK_FORWARD_NONE) ||
|
((net->def->forward.type == VIR_NETWORK_FORWARD_NONE) ||
|
||||||
(net->def->forward.type == VIR_NETWORK_FORWARD_NAT) ||
|
(net->def->forward.type == VIR_NETWORK_FORWARD_NAT) ||
|
||||||
|
@ -1793,7 +1793,7 @@ networkReloadFirewallRulesHelper(virNetworkObjPtr net,
|
||||||
/* failed to add but already logged */
|
/* failed to add but already logged */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2497,7 +2497,7 @@ static virNetworkPtr networkLookupByUUID(virConnectPtr conn,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2523,7 +2523,7 @@ static virNetworkPtr networkLookupByName(virConnectPtr conn,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2671,7 +2671,7 @@ static int networkIsActive(virNetworkPtr net)
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (obj)
|
if (obj)
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2690,7 +2690,7 @@ static int networkIsPersistent(virNetworkPtr net)
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (obj)
|
if (obj)
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2960,7 +2960,7 @@ static virNetworkPtr networkCreateXML(virConnectPtr conn, const char *xml)
|
||||||
if (event)
|
if (event)
|
||||||
virObjectEventStateQueue(driver->networkEventState, event);
|
virObjectEventStateQueue(driver->networkEventState, event);
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
networkDriverUnlock();
|
networkDriverUnlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3017,7 +3017,7 @@ static virNetworkPtr networkDefineXML(virConnectPtr conn, const char *xml)
|
||||||
if (freeDef)
|
if (freeDef)
|
||||||
virNetworkDefFree(def);
|
virNetworkDefFree(def);
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
networkDriverUnlock();
|
networkDriverUnlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3077,7 +3077,7 @@ networkUndefine(virNetworkPtr net)
|
||||||
if (event)
|
if (event)
|
||||||
virObjectEventStateQueue(driver->networkEventState, event);
|
virObjectEventStateQueue(driver->networkEventState, event);
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
networkDriverUnlock();
|
networkDriverUnlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3249,7 +3249,7 @@ networkUpdate(virNetworkPtr net,
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
networkDriverUnlock();
|
networkDriverUnlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3284,7 +3284,7 @@ static int networkCreate(virNetworkPtr net)
|
||||||
if (event)
|
if (event)
|
||||||
virObjectEventStateQueue(driver->networkEventState, event);
|
virObjectEventStateQueue(driver->networkEventState, event);
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
networkDriverUnlock();
|
networkDriverUnlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3335,7 +3335,7 @@ static int networkDestroy(virNetworkPtr net)
|
||||||
if (event)
|
if (event)
|
||||||
virObjectEventStateQueue(driver->networkEventState, event);
|
virObjectEventStateQueue(driver->networkEventState, event);
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
networkDriverUnlock();
|
networkDriverUnlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3364,7 +3364,7 @@ static char *networkGetXMLDesc(virNetworkPtr net,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3389,7 +3389,7 @@ static char *networkGetBridgeName(virNetworkPtr net) {
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return bridge;
|
return bridge;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3410,7 +3410,7 @@ static int networkGetAutostart(virNetworkPtr net,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3478,7 +3478,7 @@ static int networkSetAutostart(virNetworkPtr net,
|
||||||
VIR_FREE(configFile);
|
VIR_FREE(configFile);
|
||||||
VIR_FREE(autostartLink);
|
VIR_FREE(autostartLink);
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
networkDriverUnlock();
|
networkDriverUnlock();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3651,7 +3651,7 @@ networkGetDHCPLeases(virNetworkPtr network,
|
||||||
virJSONValueFree(leases_array);
|
virJSONValueFree(leases_array);
|
||||||
|
|
||||||
if (obj)
|
if (obj)
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
|
|
||||||
return rv;
|
return rv;
|
||||||
|
|
||||||
|
@ -4124,7 +4124,7 @@ networkAllocateActualDevice(virDomainDefPtr dom,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
@ -4327,7 +4327,7 @@ networkNotifyActualDevice(virDomainDefPtr dom,
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
@ -4477,7 +4477,7 @@ networkReleaseActualDevice(virDomainDefPtr dom,
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
if (iface->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
|
if (iface->type == VIR_DOMAIN_NET_TYPE_NETWORK) {
|
||||||
virDomainActualNetDefFree(iface->data.network.actual);
|
virDomainActualNetDefFree(iface->data.network.actual);
|
||||||
iface->data.network.actual = NULL;
|
iface->data.network.actual = NULL;
|
||||||
|
@ -4581,7 +4581,7 @@ networkGetNetworkAddress(const char *netname, char **netaddr)
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -230,7 +230,7 @@ parallelsLoadNetwork(parallelsConnPtr privconn, virJSONValuePtr jobj)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
net->active = 1;
|
net->active = 1;
|
||||||
net->autostart = 1;
|
net->autostart = 1;
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
return net;
|
return net;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
@ -265,7 +265,7 @@ parallelsAddRoutedNetwork(parallelsConnPtr privconn)
|
||||||
}
|
}
|
||||||
net->active = 1;
|
net->active = 1;
|
||||||
net->autostart = 1;
|
net->autostart = 1;
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
|
|
||||||
return net;
|
return net;
|
||||||
|
|
||||||
|
@ -445,7 +445,7 @@ static virNetworkPtr parallelsNetworkLookupByUUID(virConnectPtr conn,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -469,7 +469,7 @@ static virNetworkPtr parallelsNetworkLookupByName(virConnectPtr conn,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -496,7 +496,7 @@ static char *parallelsNetworkGetXMLDesc(virNetworkPtr net,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -517,7 +517,7 @@ static int parallelsNetworkIsActive(virNetworkPtr net)
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (obj)
|
if (obj)
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -538,7 +538,7 @@ static int parallelsNetworkIsPersistent(virNetworkPtr net)
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (obj)
|
if (obj)
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -563,7 +563,7 @@ static int parallelsNetworkGetAutostart(virNetworkPtr net,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -787,7 +787,7 @@ testOpenDefault(virConnectPtr conn)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
netobj->active = 1;
|
netobj->active = 1;
|
||||||
virNetworkObjUnlock(netobj);
|
virObjectUnlock(netobj);
|
||||||
|
|
||||||
if (!(interfacedef = virInterfaceDefParseString(defaultInterfaceXML)))
|
if (!(interfacedef = virInterfaceDefParseString(defaultInterfaceXML)))
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -1155,7 +1155,7 @@ testParseNetworks(testConnPtr privconn,
|
||||||
}
|
}
|
||||||
|
|
||||||
obj->active = 1;
|
obj->active = 1;
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
@ -3508,7 +3508,7 @@ static virNetworkPtr testNetworkLookupByUUID(virConnectPtr conn,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (net)
|
if (net)
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3532,7 +3532,7 @@ static virNetworkPtr testNetworkLookupByName(virConnectPtr conn,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (net)
|
if (net)
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3621,7 +3621,7 @@ static int testNetworkIsActive(virNetworkPtr net)
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (obj)
|
if (obj)
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3642,7 +3642,7 @@ static int testNetworkIsPersistent(virNetworkPtr net)
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (obj)
|
if (obj)
|
||||||
virNetworkObjUnlock(obj);
|
virObjectUnlock(obj);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3675,7 +3675,7 @@ static virNetworkPtr testNetworkCreateXML(virConnectPtr conn, const char *xml)
|
||||||
if (event)
|
if (event)
|
||||||
testObjectEventQueue(privconn, event);
|
testObjectEventQueue(privconn, event);
|
||||||
if (net)
|
if (net)
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
testDriverUnlock(privconn);
|
testDriverUnlock(privconn);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3708,7 +3708,7 @@ virNetworkPtr testNetworkDefineXML(virConnectPtr conn, const char *xml)
|
||||||
if (event)
|
if (event)
|
||||||
testObjectEventQueue(privconn, event);
|
testObjectEventQueue(privconn, event);
|
||||||
if (net)
|
if (net)
|
||||||
virNetworkObjUnlock(net);
|
virObjectUnlock(net);
|
||||||
testDriverUnlock(privconn);
|
testDriverUnlock(privconn);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3746,7 +3746,7 @@ static int testNetworkUndefine(virNetworkPtr network)
|
||||||
if (event)
|
if (event)
|
||||||
testObjectEventQueue(privconn, event);
|
testObjectEventQueue(privconn, event);
|
||||||
if (privnet)
|
if (privnet)
|
||||||
virNetworkObjUnlock(privnet);
|
virObjectUnlock(privnet);
|
||||||
testDriverUnlock(privconn);
|
testDriverUnlock(privconn);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3796,7 +3796,7 @@ testNetworkUpdate(virNetworkPtr net,
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
if (network)
|
if (network)
|
||||||
virNetworkObjUnlock(network);
|
virObjectUnlock(network);
|
||||||
testDriverUnlock(privconn);
|
testDriverUnlock(privconn);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3833,7 +3833,7 @@ static int testNetworkCreate(virNetworkPtr network)
|
||||||
if (event)
|
if (event)
|
||||||
testObjectEventQueue(privconn, event);
|
testObjectEventQueue(privconn, event);
|
||||||
if (privnet)
|
if (privnet)
|
||||||
virNetworkObjUnlock(privnet);
|
virObjectUnlock(privnet);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3866,7 +3866,7 @@ static int testNetworkDestroy(virNetworkPtr network)
|
||||||
if (event)
|
if (event)
|
||||||
testObjectEventQueue(privconn, event);
|
testObjectEventQueue(privconn, event);
|
||||||
if (privnet)
|
if (privnet)
|
||||||
virNetworkObjUnlock(privnet);
|
virObjectUnlock(privnet);
|
||||||
testDriverUnlock(privconn);
|
testDriverUnlock(privconn);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -3893,7 +3893,7 @@ static char *testNetworkGetXMLDesc(virNetworkPtr network,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (privnet)
|
if (privnet)
|
||||||
virNetworkObjUnlock(privnet);
|
virObjectUnlock(privnet);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3922,7 +3922,7 @@ static char *testNetworkGetBridgeName(virNetworkPtr network) {
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (privnet)
|
if (privnet)
|
||||||
virNetworkObjUnlock(privnet);
|
virObjectUnlock(privnet);
|
||||||
return bridge;
|
return bridge;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3947,7 +3947,7 @@ static int testNetworkGetAutostart(virNetworkPtr network,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (privnet)
|
if (privnet)
|
||||||
virNetworkObjUnlock(privnet);
|
virObjectUnlock(privnet);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3972,7 +3972,7 @@ static int testNetworkSetAutostart(virNetworkPtr network,
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (privnet)
|
if (privnet)
|
||||||
virNetworkObjUnlock(privnet);
|
virObjectUnlock(privnet);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ testCompareXMLToConfFiles(const char *inxml, const char *outconf, dnsmasqCapsPtr
|
||||||
if (!(dev = virNetworkDefParseString(inXmlData)))
|
if (!(dev = virNetworkDefParseString(inXmlData)))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
if (VIR_ALLOC(obj) < 0)
|
if (!(obj = virNetworkObjNew()))
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
obj->def = dev;
|
obj->def = dev;
|
||||||
|
@ -66,7 +66,7 @@ testCompareXMLToConfFiles(const char *inxml, const char *outconf, dnsmasqCapsPtr
|
||||||
VIR_FREE(actual);
|
VIR_FREE(actual);
|
||||||
VIR_FREE(pidfile);
|
VIR_FREE(pidfile);
|
||||||
virCommandFree(cmd);
|
virCommandFree(cmd);
|
||||||
virNetworkObjFree(obj);
|
virObjectUnref(obj);
|
||||||
dnsmasqContextFree(dctx);
|
dnsmasqContextFree(dctx);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,7 +84,6 @@ let lockedObjMethods = [
|
||||||
*)
|
*)
|
||||||
let objectLockMethods = [
|
let objectLockMethods = [
|
||||||
"virDomainObjLock";
|
"virDomainObjLock";
|
||||||
"virNetworkObjLock";
|
|
||||||
"virStoragePoolObjLock";
|
"virStoragePoolObjLock";
|
||||||
"virNodeDevObjLock"
|
"virNodeDevObjLock"
|
||||||
]
|
]
|
||||||
|
@ -99,7 +98,6 @@ let objectLockMethods = [
|
||||||
*)
|
*)
|
||||||
let objectUnlockMethods = [
|
let objectUnlockMethods = [
|
||||||
"virDomainObjUnlock";
|
"virDomainObjUnlock";
|
||||||
"virNetworkObjUnlock";
|
|
||||||
"virStoragePoolObjUnlock";
|
"virStoragePoolObjUnlock";
|
||||||
"virNodeDevObjUnlock"
|
"virNodeDevObjUnlock"
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue