]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
NFS: open code nfs_delegation_need_return
authorChristoph Hellwig <hch@lst.de>
Wed, 7 Jan 2026 07:27:01 +0000 (08:27 +0100)
committerAnna Schumaker <anna.schumaker@oracle.com>
Tue, 20 Jan 2026 19:49:46 +0000 (14:49 -0500)
There is only a single caller, and the function can be condensed into a
single if statement, making it more clear what is being tested there.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
fs/nfs/delegation.c

index 7b05d661775bb80965175c48ed66771cd9fd5d72..bf1dcf186a478092ad161d1ca3e5c71c9451ba84 100644 (file)
@@ -591,22 +591,6 @@ out:
        return err;
 }
 
-static bool nfs_delegation_need_return(struct nfs_delegation *delegation)
-{
-       bool ret = false;
-
-       trace_nfs_delegation_need_return(delegation);
-
-       if (test_and_clear_bit(NFS_DELEGATION_RETURN, &delegation->flags))
-               ret = true;
-       if (test_bit(NFS_DELEGATION_RETURNING, &delegation->flags) ||
-           test_bit(NFS_DELEGATION_RETURN_DELAYED, &delegation->flags) ||
-           test_bit(NFS_DELEGATION_REVOKED, &delegation->flags))
-               ret = false;
-
-       return ret;
-}
-
 static int nfs_server_return_marked_delegations(struct nfs_server *server,
                void __always_unused *data)
 {
@@ -641,11 +625,17 @@ restart:
        list_for_each_entry_from_rcu(delegation, &server->delegations, super_list) {
                struct inode *to_put = NULL;
 
-               if (!nfs_delegation_need_return(delegation)) {
+               trace_nfs_delegation_need_return(delegation);
+
+               if (!test_and_clear_bit(NFS_DELEGATION_RETURN, &delegation->flags) ||
+                   test_bit(NFS_DELEGATION_RETURNING, &delegation->flags) ||
+                   test_bit(NFS_DELEGATION_RETURN_DELAYED, &delegation->flags) ||
+                   test_bit(NFS_DELEGATION_REVOKED, &delegation->flags)) {
                        if (nfs4_is_valid_delegation(delegation, 0))
                                prev = delegation;
                        continue;
                }
+
                inode = nfs_delegation_grab_inode(delegation);
                if (inode == NULL)
                        continue;