summaryrefslogtreecommitdiffstats
path: root/utils/mountd
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2010-01-09 10:22:17 -0700
committerSteve Dickson <steved@redhat.com>2010-01-13 15:39:14 -0500
commit37d9e4f9e0d1aeeb296583e40a36ae729786230d (patch)
treed24f449cf78cf2445f3ccfab87d3ffb9e0f3ae1d /utils/mountd
parent5ccc7064cb5f59b29586474ba7c1f3e8a7255c5f (diff)
downloadnfs-utils-37d9e4f9e0d1aeeb296583e40a36ae729786230d.tar.gz
nfs-utils-37d9e4f9e0d1aeeb296583e40a36ae729786230d.tar.xz
nfs-utils-37d9e4f9e0d1aeeb296583e40a36ae729786230d.zip
mountd: minor optimization in v4root_set
Since we're adding new exports as we traverse the export list, it's possible we may find ourselves revisiting an export we just added. It's harmless to reprocess those exports, as we're currently doing. But it's also pointless. (Actually, the current code appears to always add new export entries at the head of each list, so we shouldn't hit this case. It still may be a good idea to keep this check, though, as insulation against future changes to that data structure.) Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'utils/mountd')
-rw-r--r--utils/mountd/v4root.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/utils/mountd/v4root.c b/utils/mountd/v4root.c
index d890181..b0a10c8 100644
--- a/utils/mountd/v4root.c
+++ b/utils/mountd/v4root.c
@@ -162,6 +162,13 @@ v4root_set()
nxt = exp->m_next;
hostname = exp->m_export.e_hostname;
+ if (exp->m_export.e_flags & NFSEXP_V4ROOT)
+ /*
+ * We just added this one, so its
+ * parents are already dealt with!
+ */
+ continue;
+
path = strdup(exp->m_export.e_path);
for (ptr = path + 1; ptr; ptr = strchr(ptr, '/')) {
int ret;