Yes, nfs_rpc_free_user_data() is the secret :)
Matt
On Fri, Oct 13, 2017 at 4:11 AM, Kinglong Mee wrote:
> Hi Malahal,
>
> Thanks for your reply.
>
> #1. I'd like to post a patch to delete it, because I have some cleanups for
> drc.
> #2/#3. Sorry for my missing of nfs_rpc_free_user_data(). Wit
Hi Malahal,
Thanks for your reply.
#1. I'd like to post a patch to delete it, because I have some cleanups for drc.
#2/#3. Sorry for my missing of nfs_rpc_free_user_data(). With it, everything is
okay.
thanks,
Kinglong Mee
On 10/13/2017 15:52, Malahal Naineni wrote:
> #1. Looks like a bug! Lin
#1. Looks like a bug! Lines 629 and 630 should be deleted
#2. See nfs_rpc_free_user_data(). It sets xp_u2 to NULL and drc ref is
decremented there.
#3. Life time of drc should start when it is allocated
in nfs_dupreq_get_drc() using alloc_tcp_drc().
It can live beyond xprt's xp_u2 setting to
Describes in src/RPCAL/nfs_dupreq.c,
* The life of tcp drc: it gets allocated when we process the first
* request on the connection. It is put into rbtree (tcp_drc_recycle_t).
* drc cache maintains a ref count. Every request as well as the xprt
* holds a ref count. Its ref count should go to z
Describes in src/RPCAL/nfs_dupreq.c,
* The life of tcp drc: it gets allocated when we process the first
* request on the connection. It is put into rbtree (tcp_drc_recycle_t).
* drc cache maintains a ref count. Every request as well as the xprt
* holds a ref count. Its ref count should go to