@@ -31,16 +31,21 @@ static nfs_export *
export_allowed_internal(const struct addrinfo *ai,
const char *path);
+void
+exportent_release(struct exportent *eep)
+{
+ xfree(eep->e_squids);
+ xfree(eep->e_sqgids);
+ free(eep->e_mountpoint);
+ free(eep->e_fslocdata);
+ free(eep->e_uuid);
+ xfree(eep->e_hostname);
+}
+
static void
export_free(nfs_export *exp)
{
- xfree(exp->m_export.e_squids);
- xfree(exp->m_export.e_sqgids);
- free(exp->m_export.e_mountpoint);
- free(exp->m_export.e_fslocdata);
- free(exp->m_export.e_uuid);
-
- xfree(exp->m_export.e_hostname);
+ exportent_release(&exp->m_export);
xfree(exp);
}
@@ -141,6 +141,7 @@ nfs_export * export_find(const struct addrinfo *ai,
nfs_export * export_allowed(const struct addrinfo *ai,
const char *path);
nfs_export * export_create(struct exportent *, int canonical);
+void exportent_release(struct exportent *);
void export_freeall(void);
int export_export(nfs_export *);
int export_unexport(nfs_export *);
Split out the logic that releases dynamically allocated data in an exportent. The junction resolution code will invoke this to clean up the junction exportent once it has been dumped to the kernel. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> --- support/export/export.c | 19 ++++++++++++------- support/include/exportfs.h | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html