From 076dd803330d93819c6e7862f515a8fa3997a83b Mon Sep 17 00:00:00 2001 From: Henrique Martins Date: Tue, 4 Nov 2014 15:12:16 -0500 Subject: exportfs: changes handling of unresolvable entries The patch to nfs/exportfs to allow nfsd to start when there are some, but not all, unresolvable entries in /etc/exports. Signed-off-by: Henrique Martins Signed-off-by: Steve Dickson --- support/export/client.c | 2 +- support/export/export.c | 11 +++++++++-- support/export/hostname.c | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/support/export/client.c b/support/export/client.c index f85e11c..95156f0 100644 --- a/support/export/client.c +++ b/support/export/client.c @@ -277,7 +277,7 @@ client_lookup(char *hname, int canonical) if (htype == MCL_FQDN && !canonical) { ai = host_addrinfo(hname); if (!ai) { - xlog(L_ERROR, "Failed to resolve %s", hname); + xlog(L_WARNING, "Failed to resolve %s", hname); goto out; } hname = ai->ai_canonname; diff --git a/support/export/export.c b/support/export/export.c index 6b1d045..ce714d4 100644 --- a/support/export/export.c +++ b/support/export/export.c @@ -76,15 +76,22 @@ export_read(char *fname) struct exportent *eep; nfs_export *exp; + int volumes = 0; + setexportent(fname, "r"); while ((eep = getexportent(0,1)) != NULL) { exp = export_lookup(eep->e_hostname, eep->e_path, 0); - if (!exp) - export_create(eep, 0); + if (!exp) { + exp = export_create(eep, 0); + if (exp) + volumes++; + } else warn_duplicated_exports(exp, eep); } endexportent(); + if (volumes == 0) + xlog(L_ERROR, "No file systems exported!"); } /** diff --git a/support/export/hostname.c b/support/export/hostname.c index d9153e1..169baa5 100644 --- a/support/export/hostname.c +++ b/support/export/hostname.c @@ -177,11 +177,11 @@ host_addrinfo(const char *hostname) case 0: return ai; case EAI_SYSTEM: - xlog(D_GENERAL, "%s: failed to resolve %s: (%d) %m", + xlog(D_PARSE, "%s: failed to resolve %s: (%d) %m", __func__, hostname, errno); break; default: - xlog(D_GENERAL, "%s: failed to resolve %s: %s", + xlog(D_PARSE, "%s: failed to resolve %s: %s", __func__, hostname, gai_strerror(error)); break; } -- cgit