diff mbox

[6/8] mountd: Add exportent_release()

Message ID 20121011151134.4665.44892.stgit@lebasque.1015granger.net (mailing list archive)
State New, archived
Headers show

Commit Message

Chuck Lever Oct. 11, 2012, 3:11 p.m. UTC
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
diff mbox

Patch

diff --git a/support/export/export.c b/support/export/export.c
index 4fda30a..17ceca9 100644
--- a/support/export/export.c
+++ b/support/export/export.c
@@ -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);
 }
 
diff --git a/support/include/exportfs.h b/support/include/exportfs.h
index 99916e5..5960feb 100644
--- a/support/include/exportfs.h
+++ b/support/include/exportfs.h
@@ -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 *);