X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fmountd%2Fcache.c;h=5612a9edf547ed626f35d27d50ffc3e22aa88612;hb=97ccd3d1b61f20cd681a82089e83c58f97438f1a;hp=4693216f949e1751ccf61239e9f9296b794827f1;hpb=b1e1c8a05afdbbc3f217ef79c31c3b8ca302f9eb;p=nfs-utils.git diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c index 4693216..5612a9e 100644 --- a/utils/mountd/cache.c +++ b/utils/mountd/cache.c @@ -490,6 +490,7 @@ void nfsd_export(FILE *f) int i; char *dom, *path; nfs_export *exp, *found = NULL; + int found_type = 0; if (readline(fileno(f), &lbuf, &lbuflen) != 1) @@ -516,12 +517,15 @@ void nfsd_export(FILE *f) continue; if (strcmp(path, exp->m_export.e_path)) continue; - if (!found) + if (!found) { found = exp; - else { - xlog(L_WARNING, "%s exported to both %s and %s in %s", - path, exp->m_client->m_hostname, found->m_client->m_hostname, + found_type = i; + } else if (found_type == i && found->m_warned == 0) { + xlog(L_WARNING, "%s exported to both %s and %s, " + "arbitrarily choosing options from first", + path, found->m_client->m_hostname, exp->m_client->m_hostname, dom); + found->m_warned = 1; } } } @@ -612,12 +616,6 @@ int cache_export(nfs_export *exp) int err; FILE *f; - if (exp->m_export.e_maptype != CLE_MAP_IDENT) { - xlog(L_ERROR, "%s: unsupported mapping; kernel supports only 'identity' (default)", - exp->m_export.m_path); - return -1; - } - f = fopen("/proc/net/rpc/auth.unix.ip/channel", "w"); if (!f) return -1;