From: Christoph Hellwig Date: Wed, 7 Jan 2026 07:27:02 +0000 (+0100) Subject: NFS: remove nfs_free_delegation X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=20151c11364ec9e0110413e7098593bf7c1db83f;p=thirdparty%2Fkernel%2Flinux.git NFS: remove nfs_free_delegation Open code nfs_free_delegation in the callers, because having a "free" function that wraps a revoke and put operation is a bit confusing, especially when the __free version does the actual freeing triggered by the last put. Signed-off-by: Christoph Hellwig Signed-off-by: Anna Schumaker --- diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c index bf1dcf186a478..f56b1d29650a1 100644 --- a/fs/nfs/delegation.c +++ b/fs/nfs/delegation.c @@ -72,13 +72,6 @@ static void nfs_put_delegation(struct nfs_delegation *delegation) __nfs_free_delegation(delegation); } -static void nfs_free_delegation(struct nfs_server *server, - struct nfs_delegation *delegation) -{ - nfs_mark_delegation_revoked(server, delegation); - nfs_put_delegation(delegation); -} - /** * nfs_mark_delegation_referenced - set delegation's REFERENCED flag * @delegation: delegation to process @@ -539,7 +532,8 @@ out: __nfs_free_delegation(delegation); if (freeme != NULL) { nfs_do_return_delegation(inode, freeme, 0); - nfs_free_delegation(server, freeme); + nfs_mark_delegation_revoked(server, freeme); + nfs_put_delegation(freeme); } return status; } @@ -752,7 +746,8 @@ void nfs_inode_evict_delegation(struct inode *inode) set_bit(NFS_DELEGATION_RETURNING, &delegation->flags); nfs_do_return_delegation(inode, delegation, 1); - nfs_free_delegation(server, delegation); + nfs_mark_delegation_revoked(server, delegation); + nfs_put_delegation(delegation); } /** @@ -1250,8 +1245,10 @@ restart: rcu_read_unlock(); if (delegation != NULL) { if (nfs_detach_delegation(NFS_I(inode), delegation, - server) != NULL) - nfs_free_delegation(server, delegation); + server) != NULL) { + nfs_mark_delegation_revoked(server, delegation); + nfs_put_delegation(delegation); + } /* Match nfs_start_delegation_return */ nfs_put_delegation(delegation); }