Re: [Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/

2018-03-09 Thread Satya Prakash GS
Aah. Now I could publish the comments. Thank you Matt.

Regards,
Satya.

On Fri, Mar 9, 2018 at 9:53 PM, Matt Benjamin  wrote:
> Hi Satya,
>
> To reply, to a reply on the top level (can even be blank), all your
> inline comments will publish then.
>
> Matt
>
> On Fri, Mar 9, 2018 at 11:21 AM, Satya Prakash GS
>  wrote:
>> I had replied to the comments on the same day Matt posted. My replies show
>> as drafts, looks like I have to publish them. I don't see a publish button
>> either. Can you guys help me out.
>>
>> Thanks,
>> Satya.
>>
>> On 9 Mar 2018 20:48, "Frank Filz"  wrote:
>>>
>>> Matt had called for additional discussion on this, so let's get that
>>> discussion going.
>>>
>>> Could you address Matt's questions?
>>>
>>> Frank
>>>
>>> > -Original Message-
>>> > From: Satya Prakash GS [mailto:g.satyaprak...@gmail.com]
>>> > Sent: Friday, March 9, 2018 4:17 AM
>>> > To: nfs-ganesha-devel@lists.sourceforge.net
>>> > Cc: Malahal Naineni ; Frank Filz
>>> > 
>>> > Subject: review request https://review.gerrithub.io/#/c/390652/
>>> >
>>> > Can somebody please review this change :
>>> > https://review.gerrithub.io/#/c/390652/
>>> >
>>> > It addresses this issue :
>>> >
>>> > Leak in DRC when client disconnects nfs_dupreq_finish doesn't call
>>> > put_drc
>>> > always. It does only if it meets certain criteria (drc_should_retire).
>>> > This can leak
>>> > the drc and the dupreq entries within it when the client disconnects.
>>> > More
>>> > information can be found here : https://sourceforge.net/p/nfs-
>>> > ganesha/mailman/message/35815930/
>>> >
>>> > 
>>> >
>>> > Main idea behind the change.
>>> >
>>> > Introduced a new drc queue which holds all the active drc objects
>>> > (tcp_drc_q in
>>> > drc_st).
>>> > Every new drc is added to tcp_drc_q initially. Eventually it is moved to
>>> > tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc is
>>> > either in
>>> > the active drc queue or in the recycle queue.
>>> >
>>> > DRC Refcount and transition from active drc to recycle queue :
>>> >
>>> > Drc refcnt is initialized to 2. In dupreq_start, increment the drc
>>> > refcount. In
>>> > dupreq_rele, decrement the drc refcnt. Drc refcnt is also decremented in
>>> > nfs_rpc_free_user_data. When drc refcnt goes to 0 and drc is found not
>>> > in use
>>> > for 10 minutes, pick it up and free the entries in iterations of 32
>>> > items at at time.
>>> > Once the dupreq entries goes to 0, remove the drc from tcp_drc_q and add
>>> > it to
>>> > tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are cleaned
>>> > up
>>> > periodically. Same logic should clean up these entries too.
>>> >
>>> > Thanks,
>>> > Satya.
>>>
>>
>> --
>> 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
> Red Hat, Inc.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
>
> http://www.redhat.com/en/technologies/storage
>
> tel.  734-821-5101
> 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


Re: [Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/

2018-03-09 Thread Matt Benjamin
Hi Satya,

To reply, to a reply on the top level (can even be blank), all your
inline comments will publish then.

Matt

On Fri, Mar 9, 2018 at 11:21 AM, Satya Prakash GS
 wrote:
> I had replied to the comments on the same day Matt posted. My replies show
> as drafts, looks like I have to publish them. I don't see a publish button
> either. Can you guys help me out.
>
> Thanks,
> Satya.
>
> On 9 Mar 2018 20:48, "Frank Filz"  wrote:
>>
>> Matt had called for additional discussion on this, so let's get that
>> discussion going.
>>
>> Could you address Matt's questions?
>>
>> Frank
>>
>> > -Original Message-
>> > From: Satya Prakash GS [mailto:g.satyaprak...@gmail.com]
>> > Sent: Friday, March 9, 2018 4:17 AM
>> > To: nfs-ganesha-devel@lists.sourceforge.net
>> > Cc: Malahal Naineni ; Frank Filz
>> > 
>> > Subject: review request https://review.gerrithub.io/#/c/390652/
>> >
>> > Can somebody please review this change :
>> > https://review.gerrithub.io/#/c/390652/
>> >
>> > It addresses this issue :
>> >
>> > Leak in DRC when client disconnects nfs_dupreq_finish doesn't call
>> > put_drc
>> > always. It does only if it meets certain criteria (drc_should_retire).
>> > This can leak
>> > the drc and the dupreq entries within it when the client disconnects.
>> > More
>> > information can be found here : https://sourceforge.net/p/nfs-
>> > ganesha/mailman/message/35815930/
>> >
>> > 
>> >
>> > Main idea behind the change.
>> >
>> > Introduced a new drc queue which holds all the active drc objects
>> > (tcp_drc_q in
>> > drc_st).
>> > Every new drc is added to tcp_drc_q initially. Eventually it is moved to
>> > tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc is
>> > either in
>> > the active drc queue or in the recycle queue.
>> >
>> > DRC Refcount and transition from active drc to recycle queue :
>> >
>> > Drc refcnt is initialized to 2. In dupreq_start, increment the drc
>> > refcount. In
>> > dupreq_rele, decrement the drc refcnt. Drc refcnt is also decremented in
>> > nfs_rpc_free_user_data. When drc refcnt goes to 0 and drc is found not
>> > in use
>> > for 10 minutes, pick it up and free the entries in iterations of 32
>> > items at at time.
>> > Once the dupreq entries goes to 0, remove the drc from tcp_drc_q and add
>> > it to
>> > tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are cleaned
>> > up
>> > periodically. Same logic should clean up these entries too.
>> >
>> > Thanks,
>> > Satya.
>>
>
> --
> 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
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-821-5101
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


Re: [Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/

2018-03-09 Thread Satya Prakash GS
I had replied to the comments on the same day Matt posted. My replies show
as drafts, looks like I have to publish them. I don't see a publish button
either. Can you guys help me out.

Thanks,
Satya.

On 9 Mar 2018 20:48, "Frank Filz"  wrote:

> Matt had called for additional discussion on this, so let's get that
> discussion going.
>
> Could you address Matt's questions?
>
> Frank
>
> > -Original Message-
> > From: Satya Prakash GS [mailto:g.satyaprak...@gmail.com]
> > Sent: Friday, March 9, 2018 4:17 AM
> > To: nfs-ganesha-devel@lists.sourceforge.net
> > Cc: Malahal Naineni ; Frank Filz
> > 
> > Subject: review request https://review.gerrithub.io/#/c/390652/
> >
> > Can somebody please review this change :
> > https://review.gerrithub.io/#/c/390652/
> >
> > It addresses this issue :
> >
> > Leak in DRC when client disconnects nfs_dupreq_finish doesn't call
> put_drc
> > always. It does only if it meets certain criteria (drc_should_retire).
> This can leak
> > the drc and the dupreq entries within it when the client disconnects.
> More
> > information can be found here : https://sourceforge.net/p/nfs-
> > ganesha/mailman/message/35815930/
> >
> > 
> >
> > Main idea behind the change.
> >
> > Introduced a new drc queue which holds all the active drc objects
> (tcp_drc_q in
> > drc_st).
> > Every new drc is added to tcp_drc_q initially. Eventually it is moved to
> > tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc is
> either in
> > the active drc queue or in the recycle queue.
> >
> > DRC Refcount and transition from active drc to recycle queue :
> >
> > Drc refcnt is initialized to 2. In dupreq_start, increment the drc
> refcount. In
> > dupreq_rele, decrement the drc refcnt. Drc refcnt is also decremented in
> > nfs_rpc_free_user_data. When drc refcnt goes to 0 and drc is found not
> in use
> > for 10 minutes, pick it up and free the entries in iterations of 32
> items at at time.
> > Once the dupreq entries goes to 0, remove the drc from tcp_drc_q and add
> it to
> > tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are cleaned
> up
> > periodically. Same logic should clean up these entries too.
> >
> > Thanks,
> > Satya.
>
>
--
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


Re: [Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/

2018-03-09 Thread Frank Filz
Matt had called for additional discussion on this, so let's get that discussion 
going.

Could you address Matt's questions?

Frank

> -Original Message-
> From: Satya Prakash GS [mailto:g.satyaprak...@gmail.com]
> Sent: Friday, March 9, 2018 4:17 AM
> To: nfs-ganesha-devel@lists.sourceforge.net
> Cc: Malahal Naineni ; Frank Filz
> 
> Subject: review request https://review.gerrithub.io/#/c/390652/
> 
> Can somebody please review this change :
> https://review.gerrithub.io/#/c/390652/
> 
> It addresses this issue :
> 
> Leak in DRC when client disconnects nfs_dupreq_finish doesn't call put_drc
> always. It does only if it meets certain criteria (drc_should_retire). This 
> can leak
> the drc and the dupreq entries within it when the client disconnects. More
> information can be found here : https://sourceforge.net/p/nfs-
> ganesha/mailman/message/35815930/
> 
> 
> 
> Main idea behind the change.
> 
> Introduced a new drc queue which holds all the active drc objects (tcp_drc_q 
> in
> drc_st).
> Every new drc is added to tcp_drc_q initially. Eventually it is moved to
> tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc is either 
> in
> the active drc queue or in the recycle queue.
> 
> DRC Refcount and transition from active drc to recycle queue :
> 
> Drc refcnt is initialized to 2. In dupreq_start, increment the drc refcount. 
> In
> dupreq_rele, decrement the drc refcnt. Drc refcnt is also decremented in
> nfs_rpc_free_user_data. When drc refcnt goes to 0 and drc is found not in use
> for 10 minutes, pick it up and free the entries in iterations of 32 items at 
> at time.
> Once the dupreq entries goes to 0, remove the drc from tcp_drc_q and add it to
> tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are cleaned up
> periodically. Same logic should clean up these entries too.
> 
> Thanks,
> Satya.


--
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


[Nfs-ganesha-devel] review request https://review.gerrithub.io/#/c/390652/

2018-03-09 Thread Satya Prakash GS
Can somebody please review this change : https://review.gerrithub.io/#/c/390652/

It addresses this issue :

Leak in DRC when client disconnects nfs_dupreq_finish doesn't call
put_drc always. It does only if it meets certain criteria
(drc_should_retire). This can leak the drc and the dupreq entries
within it when the client disconnects. More information can be found
here : https://sourceforge.net/p/nfs-ganesha/mailman/message/35815930/



Main idea behind the change.

Introduced a new drc queue which holds all the active drc objects
(tcp_drc_q in drc_st).
Every new drc is added to tcp_drc_q initially. Eventually it is moved
to tcp_drc_recycle_q. Drcs are freed from tcp_drc_recycle_q. Every drc
is either in the active drc queue or in the recycle queue.

DRC Refcount and transition from active drc to recycle queue :

Drc refcnt is initialized to 2. In dupreq_start, increment the drc
refcount. In dupreq_rele, decrement the drc refcnt. Drc refcnt is also
decremented in nfs_rpc_free_user_data. When drc refcnt goes to 0 and
drc is found not in use for 10 minutes, pick it up and free the
entries in iterations of 32 items at at time. Once the dupreq entries
goes to 0, remove the drc from tcp_drc_q and add it to
tcp_drc_recycle_q. Today, entries added to tcp_drc_recycle_q are
cleaned up periodically. Same logic should clean up these entries too.

Thanks,
Satya.

--
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