Message ID | 20170302160142.30413-19-kolga@netapp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index 8a1860e..792cb7a 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -1462,6 +1462,8 @@ static void nfsd4_do_async_copy(struct work_struct *work) nfsd4_run_cb(&cb_copy->cp_cb); } out: + list_del(©->cps->cp_list); + nfs4_free_cp_state(copy->cps); nfs4_put_stid(copy->stid); kfree(copy); }
Before this patch, the copy state information sticks around until destination file is closed. However, we can release the resources earlier when copy is done. In this patch, I choose to remove the stateid after vfs copy is done but before CB_OFFLOAD is done. The reason is simple because I don't need to keep track of the nfsd_net structure then when doing the callback (alternatively, we also need to copy the nfsd_net structure for the callback). The drawback is that time copy state information is available for query by OFFLOAD_STATUS is slightly less. Signed-off-by: Olga Kornievskaia <kolga@netapp.com> --- fs/nfsd/nfs4proc.c | 2 ++ 1 file changed, 2 insertions(+)