__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
__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;
}
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);
}
/**
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);
}