diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2012-10-19 10:43:50 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2012-10-22 09:44:02 -0400 |
commit | dbc0b5e878b44383cafbefdeb333177ca4a0c295 (patch) | |
tree | 6d9c9f59f1bba2f0a145f2d8e8aba914c936efe8 | |
parent | 9fae1474f1f79c2c7f222a40dff6d3d4681a9115 (diff) | |
download | nfs-utils-dbc0b5e878b44383cafbefdeb333177ca4a0c295.tar.gz nfs-utils-dbc0b5e878b44383cafbefdeb333177ca4a0c295.tar.xz nfs-utils-dbc0b5e878b44383cafbefdeb333177ca4a0c295.zip |
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.c | 32 |
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); |