I wanted people to review first. My tests did pass with this fix. If no review comments, then yes, I will do a pull request.
Regards, Malahal On Mon, Oct 10, 2016 at 7:40 PM, Matt W. Benjamin <m...@cohortfs.com> wrote: > Oh, it is. > > Matt > > ----- "Matt W. Benjamin" <m...@cohortfs.com> wrote: > >> Hi Malahal, >> >> Is this intended to be a PR? >> >> Matt >> >> ----- "Malahal Naineni" <mala...@us.ibm.com> wrote: >> >> > A umount/mount loop for a krb5 mount was sending RPCSEC_GSS_DESTROY >> > calls at times. We end up a huge number of contexts that are >> expired >> > but >> > not destroyed, eventually failing mounts after some time. >> > >> > Release reference we got on GSS data object after deleting it from >> > hash >> > table. >> > >> > Signed-off-by: Malahal Naineni <mala...@us.ibm.com> >> > --- >> > src/authgss_hash.c | 2 +- >> > src/svc_auth_gss.c | 7 ++++++- >> > 2 files changed, 7 insertions(+), 2 deletions(-) >> > >> > diff --git a/src/authgss_hash.c b/src/authgss_hash.c >> > index d88a378..21ecaf9 100644 >> > --- a/src/authgss_hash.c >> > +++ b/src/authgss_hash.c >> > @@ -187,7 +187,7 @@ authgss_ctx_hash_set(struct svc_rpc_gss_data >> *gd) >> > gss_ctx = (gss_union_ctx_id_desc *) (gd->ctx); >> > gd->hk.k = gss_ctx_hash(gss_ctx); >> > >> > - ++(gd->refcnt); /* locked */ >> > + (void)atomic_inc_uint32_t(&gd->refcnt); >> > t = rbtx_partition_of_scalar(&authgss_hash_st.xt, gd->hk.k); >> > mutex_lock(&t->mtx); >> > rslt = >> > diff --git a/src/svc_auth_gss.c b/src/svc_auth_gss.c >> > index 3322ab5..cc7b1f4 100644 >> > --- a/src/svc_auth_gss.c >> > +++ b/src/svc_auth_gss.c >> > @@ -612,7 +612,7 @@ _svcauth_gss(struct svc_req *req, struct >> rpc_msg >> > *msg, >> > >> > *no_dispatch = true; >> > >> > - (void)authgss_ctx_hash_del(gd); /* unrefs, can destroy gd */ >> > + (void)authgss_ctx_hash_del(gd); >> > >> > /* avoid lock order reversal gd->lock, xprt->xp_lock */ >> > mutex_unlock(&gd->lock); >> > @@ -622,6 +622,11 @@ _svcauth_gss(struct svc_req *req, struct >> rpc_msg >> > *msg, >> > svc_sendreply(req->rq_xprt, req, (xdrproc_t) xdr_void, >> > (caddr_t) NULL); >> > >> > + /* We acquired a reference on gd with authgss_ctx_hash_get >> > + * call. Time to release the reference as we don't need >> > + * gd anymore. >> > + */ >> > + unref_svc_rpc_gss_data(gd, SVC_RPC_GSS_FLAG_NONE); >> > req->rq_auth = &svc_auth_none; >> > >> > break; >> > -- >> > 1.8.3.1 >> > >> > >> > >> ------------------------------------------------------------------------------ >> > Check out the vibrant tech community on one of the world's most >> > engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> > _______________________________________________ >> > Nfs-ganesha-devel mailing list >> > Nfs-ganesha-devel@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel >> >> -- >> Matt Benjamin >> CohortFS, LLC. >> 315 West Huron Street, Suite 140A >> Ann Arbor, Michigan 48103 >> >> http://cohortfs.com >> >> tel. 734-761-4689 >> fax. 734-769-8938 >> cel. 734-216-5309 >> >> ------------------------------------------------------------------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Nfs-ganesha-devel mailing list >> Nfs-ganesha-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel > > -- > Matt Benjamin > CohortFS, LLC. > 315 West Huron Street, Suite 140A > Ann Arbor, Michigan 48103 > > http://cohortfs.com > > tel. 734-761-4689 > fax. 734-769-8938 > cel. 734-216-5309 > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Nfs-ganesha-devel mailing list > Nfs-ganesha-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel