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 <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
This commit is contained in:
Christoph Hellwig 2026-01-07 08:27:02 +01:00 committed by Anna Schumaker
parent 8cb32b9344
commit 20151c1136

View File

@ -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 @@ int nfs_inode_set_delegation(struct inode *inode, const struct cred *cred,
__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 @@ static int nfs_server_reap_unclaimed_delegations(struct nfs_server *server,
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);
}