]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - support/export/export.c
export: Ensure that we free struct exportent->e_uuid
[nfs-utils.git] / support / export / export.c
index 919a2442a32f498d6437b435a4e72999d238edb5..4fda30a799169e232e42b56d63579e315748c3c9 100644 (file)
@@ -24,6 +24,7 @@ static int export_hash(char *);
 
 static void    export_init(nfs_export *exp, nfs_client *clp,
                                        struct exportent *nep);
+static void    export_add(nfs_export *exp);
 static int     export_check(const nfs_export *exp, const struct addrinfo *ai,
                                const char *path);
 static nfs_export *
@@ -37,6 +38,7 @@ export_free(nfs_export *exp)
        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);
        xfree(exp);
@@ -58,7 +60,12 @@ static void warn_duplicated_exports(nfs_export *exp, struct exportent *eep)
        }
 }
 
-int
+/**
+ * export_read - read entries from /etc/exports
+ * @fname: name of file to read from
+ *
+ */
+void
 export_read(char *fname)
 {
        struct exportent        *eep;
@@ -73,11 +80,15 @@ export_read(char *fname)
                        warn_duplicated_exports(exp, eep);
        }
        endexportent();
-       return 0;
 }
 
-/*
- * Create an in-core export struct from an export entry.
+/**
+ * export_create - create an in-core nfs_export record from an export entry
+ * @xep: export entry to lookup
+ * @canonical: if set, e_hostname is known to be canonical DNS name
+ *
+ * Returns a freshly instantiated export record, or NULL if
+ * a problem occurred.
  */
 nfs_export *
 export_create(struct exportent *xep, int canonical)
@@ -147,10 +158,7 @@ export_dup(nfs_export *exp, const struct addrinfo *ai)
        return new;
 }
 
-/*
- * Add export entry to hash table
- */
-void 
+static void
 export_add(nfs_export *exp)
 {
        exp_hash_table *p_tbl;
@@ -258,11 +266,17 @@ export_allowed(const struct addrinfo *ai, const char *path)
        return NULL;
 }
 
-/*
- * Search hash table for export entry. 
- */  
+/**
+ * export_lookup - search hash table for export entry
+ * @hname: '\0'-terminated ASCII string containing client hostname to look for
+ * @path: '\0'-terminated ASCII string containing export path to look for
+ * @canonical: if set, @hname is known to be canonical DNS name
+ *
+ * Returns a pointer to nfs_export record matching @hname and @path,
+ * or NULL if the export was not found.
+ */
 nfs_export *
-export_lookup(char *hname, char *path, int canonical) 
+export_lookup(char *hname, char *path, int canonical)
 {
        nfs_client *clp;
        nfs_export *exp;