diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-03-04 15:59:05 -0500 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-03-12 12:13:56 -0400 |
commit | 38942ba204639030b3f3cfe5748a6aff3c9dcc81 (patch) | |
tree | 9079ea191274f5aa236938690f3d73b49ffbf4b7 /fs | |
parent | f0eede10fd401a1c5193e020cd372d7b7014d9f3 (diff) | |
download | linux-38942ba204639030b3f3cfe5748a6aff3c9dcc81.tar.gz linux-38942ba204639030b3f3cfe5748a6aff3c9dcc81.tar.bz2 linux-38942ba204639030b3f3cfe5748a6aff3c9dcc81.zip |
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>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfs/delegation.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c index a6ad68865880..540ee260318c 100644 --- a/fs/nfs/delegation.c +++ b/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; |