From 4a63b68b7402da1b2579d8110a6d68ba4bd6075a Mon Sep 17 00:00:00 2001 From: Ksawlii Date: Sun, 24 Nov 2024 00:23:45 +0100 Subject: [PATCH] Revert "NFSD: Refactor nfsd_reply_cache_free_locked()" This reverts commit 06ca7ef647901ceea1683a8d06cb0e6744e1aae8. --- fs/nfsd/nfscache.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/fs/nfsd/nfscache.c b/fs/nfsd/nfscache.c index d078366fd..587ff31de 100755 --- a/fs/nfsd/nfscache.c +++ b/fs/nfsd/nfscache.c @@ -110,33 +110,21 @@ nfsd_reply_cache_alloc(struct svc_rqst *rqstp, __wsum csum, return rp; } -static void nfsd_cacherep_free(struct svc_cacherep *rp) -{ - if (rp->c_type == RC_REPLBUFF) - kfree(rp->c_replvec.iov_base); - kmem_cache_free(drc_slab, rp); -} - static void -nfsd_cacherep_unlink_locked(struct nfsd_net *nn, struct nfsd_drc_bucket *b, - struct svc_cacherep *rp) +nfsd_reply_cache_free_locked(struct nfsd_drc_bucket *b, struct svc_cacherep *rp, + struct nfsd_net *nn) { - if (rp->c_type == RC_REPLBUFF && rp->c_replvec.iov_base) + if (rp->c_type == RC_REPLBUFF && rp->c_replvec.iov_base) { nfsd_stats_drc_mem_usage_sub(nn, rp->c_replvec.iov_len); + kfree(rp->c_replvec.iov_base); + } if (rp->c_state != RC_UNUSED) { rb_erase(&rp->c_node, &b->rb_head); list_del(&rp->c_lru); atomic_dec(&nn->num_drc_entries); nfsd_stats_drc_mem_usage_sub(nn, sizeof(*rp)); } -} - -static void -nfsd_reply_cache_free_locked(struct nfsd_drc_bucket *b, struct svc_cacherep *rp, - struct nfsd_net *nn) -{ - nfsd_cacherep_unlink_locked(nn, b, rp); - nfsd_cacherep_free(rp); + kmem_cache_free(drc_slab, rp); } static void @@ -144,9 +132,8 @@ nfsd_reply_cache_free(struct nfsd_drc_bucket *b, struct svc_cacherep *rp, struct nfsd_net *nn) { spin_lock(&b->cache_lock); - nfsd_cacherep_unlink_locked(nn, b, rp); + nfsd_reply_cache_free_locked(b, rp, nn); spin_unlock(&b->cache_lock); - nfsd_cacherep_free(rp); } int nfsd_drc_slab_create(void)