On Tue, Jun 10, 2014 at 10:06:44PM +0800, Kinglong Mee wrote: > Don't using cache_get besides export.h, using exp_get for export. I'm not even sure what difference it makes. I guess it's a little cleaner. OK, applying this (and preceding three patches) for 3.17. May be a little while before I get a 3.17 branch actually pushed out. --b. > > Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> > --- > fs/nfsd/export.c | 2 +- > fs/nfsd/export.h | 3 ++- > fs/nfsd/nfs4proc.c | 6 +++--- > fs/nfsd/nfsfh.c | 3 +-- > fs/nfsd/vfs.c | 3 +-- > 5 files changed, 8 insertions(+), 9 deletions(-) > > diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c > index ef2d9d6..72ffd7c 100644 > --- a/fs/nfsd/export.c > +++ b/fs/nfsd/export.c > @@ -1253,7 +1253,7 @@ static int e_show(struct seq_file *m, void *p) > return 0; > } > > - cache_get(&exp->h); > + exp_get(exp); > if (cache_check(cd, &exp->h, NULL)) > return 0; > exp_put(exp); > diff --git a/fs/nfsd/export.h b/fs/nfsd/export.h > index cfeea85..04dc8c1 100644 > --- a/fs/nfsd/export.h > +++ b/fs/nfsd/export.h > @@ -101,9 +101,10 @@ static inline void exp_put(struct svc_export *exp) > cache_put(&exp->h, exp->cd); > } > > -static inline void exp_get(struct svc_export *exp) > +static inline struct svc_export *exp_get(struct svc_export *exp) > { > cache_get(&exp->h); > + return exp; > } > struct svc_export * rqst_exp_find(struct svc_rqst *, int, u32 *); > > diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c > index be67340..f3f0487 100644 > --- a/fs/nfsd/nfs4proc.c > +++ b/fs/nfsd/nfs4proc.c > @@ -177,7 +177,7 @@ fh_dup2(struct svc_fh *dst, struct svc_fh *src) > fh_put(dst); > dget(src->fh_dentry); > if (src->fh_export) > - cache_get(&src->fh_export->h); > + exp_get(src->fh_export); > *dst = *src; > } > > @@ -918,8 +918,8 @@ nfsd4_secinfo_no_name(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstat > default: > return nfserr_inval; > } > - exp_get(cstate->current_fh.fh_export); > - sin->sin_exp = cstate->current_fh.fh_export; > + > + sin->sin_exp = exp_get(cstate->current_fh.fh_export); > fh_put(&cstate->current_fh); > return nfs_ok; > } > diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c > index ec83934..6f5cc76 100644 > --- a/fs/nfsd/nfsfh.c > +++ b/fs/nfsd/nfsfh.c > @@ -539,8 +539,7 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry, > dentry); > > fhp->fh_dentry = dget(dentry); /* our internal copy */ > - fhp->fh_export = exp; > - cache_get(&exp->h); > + fhp->fh_export = exp_get(exp); > > if (fhp->fh_handle.fh_version == 0xca) { > /* old style filehandle please */ > diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c > index 7498099..df7cf61 100644 > --- a/fs/nfsd/vfs.c > +++ b/fs/nfsd/vfs.c > @@ -189,8 +189,7 @@ nfsd_lookup_dentry(struct svc_rqst *rqstp, struct svc_fh *fhp, > dprintk("nfsd: nfsd_lookup(fh %s, %.*s)\n", SVCFH_fmt(fhp), len,name); > > dparent = fhp->fh_dentry; > - exp = fhp->fh_export; > - exp_get(exp); > + exp = exp_get(fhp->fh_export); > > /* Lookup the name, but don't follow links */ > if (isdotent(name, len)) { > -- > 1.9.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html