X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fmountd%2Fcache.c;h=6cf24ceb4f9f9d3b919cbe1c24cbc22e290945a5;hb=dad50c0e589b5651242de50e81200b036d995b73;hp=fbe829e2d3fc188fbe686fc78a820199b5951ac3;hpb=4b9f9e2e5ea09dfbf2da26e9de0902a42e04c0d3;p=nfs-utils.git diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c index fbe829e..6cf24ce 100644 --- a/utils/mountd/cache.c +++ b/utils/mountd/cache.c @@ -413,7 +413,15 @@ void nfsd_fh(FILE *f) qword_print(f, dom); qword_printint(f, fsidtype); qword_printhex(f, fsid, fsidlen); - qword_printint(f, time(0)+30*60); + /* The fsid -> path lookup can be quite expensive as it + * potentially stats and reads lots of devices, and some of those + * might have spun-down. The Answer is not likely to + * change underneath us, and an 'exportfs -f' can always + * remove this from the kernel, so use a really log + * timeout. Maybe this should be configurable on the command + * line. + */ + qword_printint(f, 0x7fffffff); if (found) qword_print(f, found->e_path); qword_eol(f); @@ -604,12 +612,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;