mirror of https://gitee.com/openkylin/libvirt.git
network_conf: Introduce locked versions of lookup functions
This is going to be needed later, when some functions already have the virNetworkObjList object already locked and need to lookup a object to work on. As an example of such function is virNetworkAssignDef(). The other use case might be in virNetworkObjListForEach() callback. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
52430928d1
commit
3aa3e072bd
|
@ -157,8 +157,9 @@ virNetworkObjListPtr virNetworkObjListNew(void)
|
|||
return nets;
|
||||
}
|
||||
|
||||
virNetworkObjPtr virNetworkObjFindByUUID(virNetworkObjListPtr nets,
|
||||
const unsigned char *uuid)
|
||||
virNetworkObjPtr
|
||||
virNetworkObjFindByUUIDLocked(virNetworkObjListPtr nets,
|
||||
const unsigned char *uuid)
|
||||
{
|
||||
virNetworkObjPtr ret = NULL;
|
||||
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||
|
@ -171,6 +172,18 @@ virNetworkObjPtr virNetworkObjFindByUUID(virNetworkObjListPtr nets,
|
|||
return ret;
|
||||
}
|
||||
|
||||
virNetworkObjPtr
|
||||
virNetworkObjFindByUUID(virNetworkObjListPtr nets,
|
||||
const unsigned char *uuid)
|
||||
{
|
||||
virNetworkObjPtr ret;
|
||||
|
||||
virObjectLock(nets);
|
||||
ret = virNetworkObjFindByUUIDLocked(nets, uuid);
|
||||
virObjectUnlock(nets);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
virNetworkObjSearchName(const void *payload,
|
||||
const void *name ATTRIBUTE_UNUSED,
|
||||
|
@ -186,8 +199,9 @@ virNetworkObjSearchName(const void *payload,
|
|||
return want;
|
||||
}
|
||||
|
||||
virNetworkObjPtr virNetworkObjFindByName(virNetworkObjListPtr nets,
|
||||
const char *name)
|
||||
virNetworkObjPtr
|
||||
virNetworkObjFindByNameLocked(virNetworkObjListPtr nets,
|
||||
const char *name)
|
||||
{
|
||||
virNetworkObjPtr ret = NULL;
|
||||
|
||||
|
@ -197,6 +211,18 @@ virNetworkObjPtr virNetworkObjFindByName(virNetworkObjListPtr nets,
|
|||
return ret;
|
||||
}
|
||||
|
||||
virNetworkObjPtr
|
||||
virNetworkObjFindByName(virNetworkObjListPtr nets,
|
||||
const char *name)
|
||||
{
|
||||
virNetworkObjPtr ret;
|
||||
|
||||
virObjectLock(nets);
|
||||
ret = virNetworkObjFindByNameLocked(nets, name);
|
||||
virObjectUnlock(nets);
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool
|
||||
virNetworkObjTaint(virNetworkObjPtr obj,
|
||||
virNetworkTaintFlags taint)
|
||||
|
|
|
@ -300,8 +300,12 @@ virNetworkObjIsActive(const virNetworkObj *net)
|
|||
|
||||
virNetworkObjListPtr virNetworkObjListNew(void);
|
||||
|
||||
virNetworkObjPtr virNetworkObjFindByUUIDLocked(virNetworkObjListPtr nets,
|
||||
const unsigned char *uuid);
|
||||
virNetworkObjPtr virNetworkObjFindByUUID(virNetworkObjListPtr nets,
|
||||
const unsigned char *uuid);
|
||||
virNetworkObjPtr virNetworkObjFindByNameLocked(virNetworkObjListPtr nets,
|
||||
const char *name);
|
||||
virNetworkObjPtr virNetworkObjFindByName(virNetworkObjListPtr nets,
|
||||
const char *name);
|
||||
bool virNetworkObjTaint(virNetworkObjPtr obj,
|
||||
|
|
|
@ -565,7 +565,9 @@ virNetworkLoadAllState;
|
|||
virNetworkObjAssignDef;
|
||||
virNetworkObjEndAPI;
|
||||
virNetworkObjFindByName;
|
||||
virNetworkObjFindByNameLocked;
|
||||
virNetworkObjFindByUUID;
|
||||
virNetworkObjFindByUUIDLocked;
|
||||
virNetworkObjGetPersistentDef;
|
||||
virNetworkObjIsDuplicate;
|
||||
virNetworkObjListExport;
|
||||
|
|
Loading…
Reference in New Issue