summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2012-10-19 10:43:50 -0400
committerSteve Dickson <steved@redhat.com>2012-10-22 09:44:02 -0400
commitdbc0b5e878b44383cafbefdeb333177ca4a0c295 (patch)
tree6d9c9f59f1bba2f0a145f2d8e8aba914c936efe8
parent9fae1474f1f79c2c7f222a40dff6d3d4681a9115 (diff)
downloadnfs-utils-dbc0b5e878b44383cafbefdeb333177ca4a0c295.zip
nfs-utils-dbc0b5e878b44383cafbefdeb333177ca4a0c295.tar.gz
nfs-utils-dbc0b5e878b44383cafbefdeb333177ca4a0c295.tar.xz
mountd: Simplify "no junction support" case
We've added logic in the "not an export" case in nfsd_export(), so it's no longer a simple function call. Clean up this code by splitting it into a new function, and make plain what happens when junction support is compiled out. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r--utils/mountd/cache.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c
index 457fc9c..8280234 100644
--- a/utils/mountd/cache.c
+++ b/utils/mountd/cache.c
@@ -1109,11 +1109,24 @@ static struct exportent *lookup_junction(char *dom, const char *pathname,
(void)dlclose(handle);
return exp;
}
+
+static void lookup_nonexport(FILE *f, char *dom, char *path,
+ struct addrinfo *ai)
+{
+ struct exportent *eep;
+
+ eep = lookup_junction(dom, path, ai);
+ dump_to_cache(f, dom, path, eep);
+ if (eep == NULL)
+ return;
+ exportent_release(eep);
+ free(eep);
+}
#else /* !HAVE_NFS_PLUGIN_H */
-static inline struct exportent *lookup_junction(char *UNUSED(dom),
- const char *UNUSED(pathname), struct addrinfo *UNUSED(ai))
+static void lookup_nonexport(FILE *f, char *dom, char *path,
+ struct addrinfo *UNUSED(ai))
{
- return NULL;
+ dump_to_cache(f, dom, path, NULL);
}
#endif /* !HAVE_NFS_PLUGIN_H */
@@ -1164,16 +1177,9 @@ static void nfsd_export(FILE *f)
" or fsid= required", path);
dump_to_cache(f, dom, path, NULL);
}
- } else {
- struct exportent *eep;
-
- eep = lookup_junction(dom, path, ai);
- dump_to_cache(f, dom, path, eep);
- if (eep != NULL) {
- exportent_release(eep);
- free(eep);
- }
- }
+ } else
+ lookup_nonexport(f, dom, path, ai);
+
out:
xlog(D_CALL, "nfsd_export: found %p path %s", found, path ? path : NULL);
if (dom) free(dom);