mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
nwfilter: Make _virNWFilterObjPtr private
Move the structure to virnwfilterobj.c and create necessary accessor API's for the various fields. Also make virNWFilterObjFree static since there's no external callers. Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
8b6cdb2faa
commit
4b6264508f
@ -33,8 +33,38 @@
|
||||
|
||||
VIR_LOG_INIT("conf.virnwfilterobj");
|
||||
|
||||
struct _virNWFilterObj {
|
||||
virMutex lock;
|
||||
|
||||
void
|
||||
bool wantRemoved;
|
||||
|
||||
virNWFilterDefPtr def;
|
||||
virNWFilterDefPtr newDef;
|
||||
};
|
||||
|
||||
|
||||
virNWFilterDefPtr
|
||||
virNWFilterObjGetDef(virNWFilterObjPtr obj)
|
||||
{
|
||||
return obj->def;
|
||||
}
|
||||
|
||||
|
||||
virNWFilterDefPtr
|
||||
virNWFilterObjGetNewDef(virNWFilterObjPtr obj)
|
||||
{
|
||||
return obj->newDef;
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
virNWFilterObjWantRemoved(virNWFilterObjPtr obj)
|
||||
{
|
||||
return obj->wantRemoved;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
virNWFilterObjFree(virNWFilterObjPtr obj)
|
||||
{
|
||||
if (!obj)
|
||||
|
@ -26,16 +26,6 @@
|
||||
typedef struct _virNWFilterObj virNWFilterObj;
|
||||
typedef virNWFilterObj *virNWFilterObjPtr;
|
||||
|
||||
struct _virNWFilterObj {
|
||||
virMutex lock;
|
||||
|
||||
bool wantRemoved;
|
||||
|
||||
virNWFilterDefPtr def;
|
||||
virNWFilterDefPtr newDef;
|
||||
};
|
||||
|
||||
|
||||
typedef struct _virNWFilterObjList virNWFilterObjList;
|
||||
typedef virNWFilterObjList *virNWFilterObjListPtr;
|
||||
struct _virNWFilterObjList {
|
||||
@ -56,6 +46,15 @@ struct _virNWFilterDriverState {
|
||||
bool watchingFirewallD;
|
||||
};
|
||||
|
||||
virNWFilterDefPtr
|
||||
virNWFilterObjGetDef(virNWFilterObjPtr obj);
|
||||
|
||||
virNWFilterDefPtr
|
||||
virNWFilterObjGetNewDef(virNWFilterObjPtr obj);
|
||||
|
||||
bool
|
||||
virNWFilterObjWantRemoved(virNWFilterObjPtr obj);
|
||||
|
||||
void
|
||||
virNWFilterObjListFree(virNWFilterObjListPtr nwfilters);
|
||||
|
||||
@ -63,9 +62,6 @@ void
|
||||
virNWFilterObjRemove(virNWFilterObjListPtr nwfilters,
|
||||
virNWFilterObjPtr obj);
|
||||
|
||||
void
|
||||
virNWFilterObjFree(virNWFilterObjPtr obj);
|
||||
|
||||
virNWFilterObjPtr
|
||||
virNWFilterObjFindByUUID(virNWFilterObjListPtr nwfilters,
|
||||
const unsigned char *uuid);
|
||||
|
@ -965,7 +965,9 @@ virNodeDeviceObjUnlock;
|
||||
virNWFilterObjAssignDef;
|
||||
virNWFilterObjFindByName;
|
||||
virNWFilterObjFindByUUID;
|
||||
virNWFilterObjGetDef;
|
||||
virNWFilterObjGetNames;
|
||||
virNWFilterObjGetNewDef;
|
||||
virNWFilterObjListExport;
|
||||
virNWFilterObjListFree;
|
||||
virNWFilterObjLoadAllConfigs;
|
||||
@ -974,6 +976,7 @@ virNWFilterObjNumOfNWFilters;
|
||||
virNWFilterObjRemove;
|
||||
virNWFilterObjTestUnassignDef;
|
||||
virNWFilterObjUnlock;
|
||||
virNWFilterObjWantRemoved;
|
||||
|
||||
|
||||
# conf/virsecretobj.h
|
||||
|
@ -370,7 +370,7 @@ nwfilterLookupByUUID(virConnectPtr conn,
|
||||
"%s", _("no nwfilter with matching uuid"));
|
||||
goto cleanup;
|
||||
}
|
||||
def = obj->def;
|
||||
def = virNWFilterObjGetDef(obj);
|
||||
|
||||
if (virNWFilterLookupByUUIDEnsureACL(conn, def) < 0)
|
||||
goto cleanup;
|
||||
@ -401,7 +401,7 @@ nwfilterLookupByName(virConnectPtr conn,
|
||||
_("no nwfilter with matching name '%s'"), name);
|
||||
goto cleanup;
|
||||
}
|
||||
def = obj->def;
|
||||
def = virNWFilterObjGetDef(obj);
|
||||
|
||||
if (virNWFilterLookupByNameEnsureACL(conn, def) < 0)
|
||||
goto cleanup;
|
||||
@ -493,7 +493,7 @@ nwfilterDefineXML(virConnectPtr conn,
|
||||
if (!(obj = virNWFilterObjAssignDef(&driver->nwfilters, def)))
|
||||
goto cleanup;
|
||||
def = NULL;
|
||||
objdef = obj->def;
|
||||
objdef = virNWFilterObjGetDef(obj);
|
||||
|
||||
if (virNWFilterSaveDef(driver->configDir, objdef) < 0) {
|
||||
virNWFilterObjRemove(&driver->nwfilters, obj);
|
||||
@ -518,6 +518,7 @@ static int
|
||||
nwfilterUndefine(virNWFilterPtr nwfilter)
|
||||
{
|
||||
virNWFilterObjPtr obj;
|
||||
virNWFilterDefPtr def;
|
||||
int ret = -1;
|
||||
|
||||
nwfilterDriverLock();
|
||||
@ -530,8 +531,9 @@ nwfilterUndefine(virNWFilterPtr nwfilter)
|
||||
"%s", _("no nwfilter with matching uuid"));
|
||||
goto cleanup;
|
||||
}
|
||||
def = virNWFilterObjGetDef(obj);
|
||||
|
||||
if (virNWFilterUndefineEnsureACL(nwfilter->conn, obj->def) < 0)
|
||||
if (virNWFilterUndefineEnsureACL(nwfilter->conn, def) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virNWFilterObjTestUnassignDef(obj) < 0) {
|
||||
@ -541,7 +543,7 @@ nwfilterUndefine(virNWFilterPtr nwfilter)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (virNWFilterDeleteDef(driver->configDir, obj->def) < 0)
|
||||
if (virNWFilterDeleteDef(driver->configDir, def) < 0)
|
||||
goto cleanup;
|
||||
|
||||
virNWFilterObjRemove(&driver->nwfilters, obj);
|
||||
@ -564,6 +566,7 @@ nwfilterGetXMLDesc(virNWFilterPtr nwfilter,
|
||||
unsigned int flags)
|
||||
{
|
||||
virNWFilterObjPtr obj;
|
||||
virNWFilterDefPtr def;
|
||||
char *ret = NULL;
|
||||
|
||||
virCheckFlags(0, NULL);
|
||||
@ -577,11 +580,12 @@ nwfilterGetXMLDesc(virNWFilterPtr nwfilter,
|
||||
"%s", _("no nwfilter with matching uuid"));
|
||||
goto cleanup;
|
||||
}
|
||||
def = virNWFilterObjGetDef(obj);
|
||||
|
||||
if (virNWFilterGetXMLDescEnsureACL(nwfilter->conn, obj->def) < 0)
|
||||
if (virNWFilterGetXMLDescEnsureACL(nwfilter->conn, def) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = virNWFilterDefFormat(obj->def);
|
||||
ret = virNWFilterDefFormat(def);
|
||||
|
||||
cleanup:
|
||||
if (obj)
|
||||
|
@ -379,6 +379,7 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
|
||||
virNWFilterObjPtr obj;
|
||||
virNWFilterHashTablePtr tmpvars = NULL;
|
||||
virNWFilterDefPtr childdef;
|
||||
virNWFilterDefPtr newChilddef;
|
||||
int ret = -1;
|
||||
|
||||
VIR_DEBUG("Instantiating filter %s", inc->filterref);
|
||||
@ -390,7 +391,7 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
|
||||
inc->filterref);
|
||||
goto cleanup;
|
||||
}
|
||||
if (obj->wantRemoved) {
|
||||
if (virNWFilterObjWantRemoved(obj)) {
|
||||
virReportError(VIR_ERR_NO_NWFILTER,
|
||||
_("Filter '%s' is in use."),
|
||||
inc->filterref);
|
||||
@ -402,12 +403,13 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
|
||||
vars)))
|
||||
goto cleanup;
|
||||
|
||||
childdef = obj->def;
|
||||
childdef = virNWFilterObjGetDef(obj);
|
||||
|
||||
switch (useNewFilter) {
|
||||
case INSTANTIATE_FOLLOW_NEWFILTER:
|
||||
if (obj->newDef) {
|
||||
childdef = obj->newDef;
|
||||
newChilddef = virNWFilterObjGetNewDef(obj);
|
||||
if (newChilddef) {
|
||||
childdef = newChilddef;
|
||||
*foundNewFilter = true;
|
||||
}
|
||||
break;
|
||||
@ -505,6 +507,7 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
|
||||
int rc = 0;
|
||||
size_t i, j;
|
||||
virNWFilterDefPtr next_filter;
|
||||
virNWFilterDefPtr newNext_filter;
|
||||
virNWFilterVarValuePtr val;
|
||||
|
||||
for (i = 0; i < filter->nentries; i++) {
|
||||
@ -545,7 +548,7 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
|
||||
obj = virNWFilterObjFindByName(&driver->nwfilters, inc->filterref);
|
||||
if (obj) {
|
||||
|
||||
if (obj->wantRemoved) {
|
||||
if (virNWFilterObjWantRemoved(obj)) {
|
||||
virReportError(VIR_ERR_NO_NWFILTER,
|
||||
_("Filter '%s' is in use."),
|
||||
inc->filterref);
|
||||
@ -564,12 +567,13 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
|
||||
break;
|
||||
}
|
||||
|
||||
next_filter = obj->def;
|
||||
next_filter = virNWFilterObjGetDef(obj);
|
||||
|
||||
switch (useNewFilter) {
|
||||
case INSTANTIATE_FOLLOW_NEWFILTER:
|
||||
if (obj->newDef)
|
||||
next_filter = obj->newDef;
|
||||
newNext_filter = virNWFilterObjGetNewDef(obj);
|
||||
if (newNext_filter)
|
||||
next_filter = newNext_filter;
|
||||
break;
|
||||
case INSTANTIATE_ALWAYS:
|
||||
break;
|
||||
@ -790,6 +794,7 @@ __virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
|
||||
virNWFilterObjPtr obj;
|
||||
virNWFilterHashTablePtr vars, vars1;
|
||||
virNWFilterDefPtr filter;
|
||||
virNWFilterDefPtr newFilter;
|
||||
char vmmacaddr[VIR_MAC_STRING_BUFLEN] = {0};
|
||||
char *str_macaddr = NULL;
|
||||
virNWFilterVarValuePtr ipaddr;
|
||||
@ -815,7 +820,7 @@ __virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (obj->wantRemoved) {
|
||||
if (virNWFilterObjWantRemoved(obj)) {
|
||||
virReportError(VIR_ERR_NO_NWFILTER,
|
||||
_("Filter '%s' is in use."),
|
||||
filtername);
|
||||
@ -847,12 +852,13 @@ __virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
|
||||
goto err_exit_vars1;
|
||||
}
|
||||
|
||||
filter = obj->def;
|
||||
filter = virNWFilterObjGetDef(obj);
|
||||
|
||||
switch (useNewFilter) {
|
||||
case INSTANTIATE_FOLLOW_NEWFILTER:
|
||||
if (obj->newDef) {
|
||||
filter = obj->newDef;
|
||||
newFilter = virNWFilterObjGetNewDef(obj);
|
||||
if (newFilter) {
|
||||
filter = newFilter;
|
||||
*foundNewFilter = true;
|
||||
}
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user