Message ID | 146976861681.20186.16926967483251671716.stgit@noble (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 07/29/2016 01:03 AM, NeilBrown wrote: > The default will not always be best. > > Signed-off-by: NeilBrown <neilb@suse.com> > --- > utils/mountd/cache.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-) > > diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c > index ec86a22613cf..9cc270690d90 100644 > --- a/utils/mountd/cache.c > +++ b/utils/mountd/cache.c > @@ -881,12 +881,16 @@ static void write_secinfo(char **bp, int *blen, struct exportent *ep, int flag_m > > } > > -static int dump_to_cache(int f, char *buf, int buflen, char *domain, char *path, struct exportent *exp) > +static int dump_to_cache(int f, char *buf, int buflen, char *domain, > + char *path, struct exportent *exp, int ttl) > { > char *bp = buf; > int blen = buflen; > time_t now = time(0); > > + if (ttl <= 1) > + ttl = DEFAULT_TTL; > + > qword_add(&bp, &blen, domain); > qword_add(&bp, &blen, path); > if (exp) { > @@ -913,7 +917,7 @@ static int dump_to_cache(int f, char *buf, int buflen, char *domain, char *path, > qword_addhex(&bp, &blen, u, 16); > } > } else > - qword_adduint(&bp, &blen, now + DEFAULT_TTL); > + qword_adduint(&bp, &blen, now + ttl); > qword_addeol(&bp, &blen); > if (blen <= 0) return -1; > if (write(f, buf, bp - buf) != bp - buf) return -1; > @@ -1273,7 +1277,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path > struct exportent *eep; > > eep = lookup_junction(dom, path, ai); > - dump_to_cache(f, buf, buflen, dom, path, eep); > + dump_to_cache(f, buf, buflen, dom, path, eep, 0); > if (eep == NULL) > return; > exportent_release(eep); > @@ -1283,7 +1287,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path > static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path, > struct addrinfo *UNUSED(ai)) > { > - dump_to_cache(f, buf, buflen, dom, path, NULL); > + dump_to_cache(f, buf, buflen, dom, path, NULL, 0); > } > #endif /* !HAVE_NFS_PLUGIN_H */ > > @@ -1330,11 +1334,11 @@ static void nfsd_export(int f) > found = lookup_export(dom, path, ai); > > if (found) { > - if (dump_to_cache(f, buf, sizeof(buf), dom, path, &found->m_export) < 0) { > + if (dump_to_cache(f, buf, sizeof(buf), dom, path, &found->m_export, 0) < 0) { > xlog(L_WARNING, > "Cannot export %s, possibly unsupported filesystem" > " or fsid= required", path); > - dump_to_cache(f, buf, sizeof(buf), dom, path, NULL); > + dump_to_cache(f, buf, sizeof(buf), dom, path, NULL, 0); > } > } else > lookup_nonexport(f, buf, sizeof(buf), dom, path, ai); > @@ -1423,7 +1427,7 @@ static int cache_export_ent(char *buf, int buflen, char *domain, struct exporten > f = open("/proc/net/rpc/nfsd.export/channel", O_WRONLY); > if (f < 0) return -1; > > - err = dump_to_cache(f, buf, buflen, domain, exp->e_path, exp); > + err = dump_to_cache(f, buf, buflen, domain, exp->e_path, exp, 0); > if (err) { > xlog(L_WARNING, > "Cannot export %s, possibly unsupported filesystem or" > @@ -1464,7 +1468,7 @@ static int cache_export_ent(char *buf, int buflen, char *domain, struct exporten > continue; > dev = stb.st_dev; > path[l] = 0; > - dump_to_cache(f, buf, buflen, domain, path, exp); > + dump_to_cache(f, buf, buflen, domain, path, exp, 0); > path[l] = c; > } > break; > > Hey Neil, This one is a bit confusing... Unless I'm missing something this patch enables the passing of the TTL in to dump_to_cache() but a zero is always passed in which causes the default TTL to be used... So I guess my question is... what's the point? Is there an upcoming patch that will actually passing a non-default TTL steved. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 08/03/2016 01:31 PM, Steve Dickson wrote: > Hey Neil, > > This one is a bit confusing... Unless I'm missing something this > patch enables the passing of the TTL in to dump_to_cache() but > a zero is always passed in which causes the default TTL to > be used... So I guess my question is... what's the point? > Is there an upcoming patch that will actually passing a > non-default TTL Never mind... I see how its used in patch 7.. Sorry for the noise. steved. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/utils/mountd/cache.c b/utils/mountd/cache.c index ec86a22613cf..9cc270690d90 100644 --- a/utils/mountd/cache.c +++ b/utils/mountd/cache.c @@ -881,12 +881,16 @@ static void write_secinfo(char **bp, int *blen, struct exportent *ep, int flag_m } -static int dump_to_cache(int f, char *buf, int buflen, char *domain, char *path, struct exportent *exp) +static int dump_to_cache(int f, char *buf, int buflen, char *domain, + char *path, struct exportent *exp, int ttl) { char *bp = buf; int blen = buflen; time_t now = time(0); + if (ttl <= 1) + ttl = DEFAULT_TTL; + qword_add(&bp, &blen, domain); qword_add(&bp, &blen, path); if (exp) { @@ -913,7 +917,7 @@ static int dump_to_cache(int f, char *buf, int buflen, char *domain, char *path, qword_addhex(&bp, &blen, u, 16); } } else - qword_adduint(&bp, &blen, now + DEFAULT_TTL); + qword_adduint(&bp, &blen, now + ttl); qword_addeol(&bp, &blen); if (blen <= 0) return -1; if (write(f, buf, bp - buf) != bp - buf) return -1; @@ -1273,7 +1277,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path struct exportent *eep; eep = lookup_junction(dom, path, ai); - dump_to_cache(f, buf, buflen, dom, path, eep); + dump_to_cache(f, buf, buflen, dom, path, eep, 0); if (eep == NULL) return; exportent_release(eep); @@ -1283,7 +1287,7 @@ static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path static void lookup_nonexport(int f, char *buf, int buflen, char *dom, char *path, struct addrinfo *UNUSED(ai)) { - dump_to_cache(f, buf, buflen, dom, path, NULL); + dump_to_cache(f, buf, buflen, dom, path, NULL, 0); } #endif /* !HAVE_NFS_PLUGIN_H */ @@ -1330,11 +1334,11 @@ static void nfsd_export(int f) found = lookup_export(dom, path, ai); if (found) { - if (dump_to_cache(f, buf, sizeof(buf), dom, path, &found->m_export) < 0) { + if (dump_to_cache(f, buf, sizeof(buf), dom, path, &found->m_export, 0) < 0) { xlog(L_WARNING, "Cannot export %s, possibly unsupported filesystem" " or fsid= required", path); - dump_to_cache(f, buf, sizeof(buf), dom, path, NULL); + dump_to_cache(f, buf, sizeof(buf), dom, path, NULL, 0); } } else lookup_nonexport(f, buf, sizeof(buf), dom, path, ai); @@ -1423,7 +1427,7 @@ static int cache_export_ent(char *buf, int buflen, char *domain, struct exporten f = open("/proc/net/rpc/nfsd.export/channel", O_WRONLY); if (f < 0) return -1; - err = dump_to_cache(f, buf, buflen, domain, exp->e_path, exp); + err = dump_to_cache(f, buf, buflen, domain, exp->e_path, exp, 0); if (err) { xlog(L_WARNING, "Cannot export %s, possibly unsupported filesystem or" @@ -1464,7 +1468,7 @@ static int cache_export_ent(char *buf, int buflen, char *domain, struct exporten continue; dev = stb.st_dev; path[l] = 0; - dump_to_cache(f, buf, buflen, domain, path, exp); + dump_to_cache(f, buf, buflen, domain, path, exp, 0); path[l] = c; } break;
The default will not always be best. Signed-off-by: NeilBrown <neilb@suse.com> --- utils/mountd/cache.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html