X-Git-Url: https://git.decadent.org.uk/gitweb/?p=nfs-utils.git;a=blobdiff_plain;f=utils%2Fmountd%2Fcache.c;h=6cf24ceb4f9f9d3b919cbe1c24cbc22e290945a5;hp=fbe829e2d3fc188fbe686fc78a820199b5951ac3;hb=74a8f33de5f26d6bab11d5299318035d65bd60d0;hpb=57d81b9f4c7f877d64aa7e8c5bddb852e1aa32ce 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;