aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4renewd.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2008-12-23 15:21:52 -0500
committerTrond Myklebust <Trond.Myklebust@netapp.com>2008-12-23 15:21:52 -0500
commitb7391f44f26b17ad25c7183a3d6ad50f0a9305ff (patch)
tree8e09a5714587a8bde2a805819501d10bae4787b7 /fs/nfs/nfs4renewd.c
parentNFSv4: Clean up the asynchronous delegation return (diff)
downloadlinux-dev-b7391f44f26b17ad25c7183a3d6ad50f0a9305ff.tar.xz
linux-dev-b7391f44f26b17ad25c7183a3d6ad50f0a9305ff.zip
NFSv4: Return unreferenced delegations more promptly
If the client is not using a delegation, the right thing to do is to return it as soon as possible. This helps reduce the amount of state the server has to track, as well as reducing the potential for conflicts with other clients. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/nfs4renewd.c')
-rw-r--r--fs/nfs/nfs4renewd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/nfs4renewd.c b/fs/nfs/nfs4renewd.c
index ca557e677d9e..f524e932ff7b 100644
--- a/fs/nfs/nfs4renewd.c
+++ b/fs/nfs/nfs4renewd.c
@@ -101,6 +101,7 @@ nfs4_renew_state(struct work_struct *work)
cancel_delayed_work(&clp->cl_renewd);
schedule_delayed_work(&clp->cl_renewd, timeout);
spin_unlock(&clp->cl_lock);
+ nfs_expire_unreferenced_delegations(clp);
out:
dprintk("%s: done\n", __func__);
}