X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=support%2Fexport%2Fexport.c;h=4fda30a799169e232e42b56d63579e315748c3c9;hp=919a2442a32f498d6437b435a4e72999d238edb5;hb=5fe118b838254023d83424c5010ae73a91ec267d;hpb=0509d3428f523776ddd9d6e9fa318587d3ec7d84 diff --git a/support/export/export.c b/support/export/export.c index 919a244..4fda30a 100644 --- a/support/export/export.c +++ b/support/export/export.c @@ -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;