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

Reply via email to