Browse Source

NFSv4: Append delegations to the per-client list instead of prepending

Do so on the assumption that for most use cases, that list will turn into
a more or less LRU-ordered list, and so the list traversals in
nfs_client_return_marked_delegations() are likely to be shorter before
hitting a candidate to return.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Trond Myklebust 11 năm trước cách đây
mục cha
commit
38942ba204
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      fs/nfs/delegation.c

+ 1 - 1
fs/nfs/delegation.c

@@ -378,7 +378,7 @@ int nfs_inode_set_delegation(struct inode *inode, struct rpc_cred *cred, struct
 		if (freeme == NULL)
 			goto out;
 	}
-	list_add_rcu(&delegation->super_list, &server->delegations);
+	list_add_tail_rcu(&delegation->super_list, &server->delegations);
 	rcu_assign_pointer(nfsi->delegation, delegation);
 	delegation = NULL;