summaryrefslogtreecommitdiffstats
path: root/fs/nfs/delegation.h
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2013-04-03 20:33:49 +0200
committerTrond Myklebust <Trond.Myklebust@netapp.com>2013-04-05 23:03:55 +0200
commitb757144fd77cf5512f5b60179ba5ca8dcc5184b4 (patch)
tree8c83188cb1aa8e4ff5e8d25b48a3cf811d31772d /fs/nfs/delegation.h
parentNFSv4: Clean up delegation recall error handling (diff)
downloadlinux-b757144fd77cf5512f5b60179ba5ca8dcc5184b4.tar.xz
linux-b757144fd77cf5512f5b60179ba5ca8dcc5184b4.zip
NFSv4: Be less aggressive about returning delegations for open files
Currently, if the application that holds the file open isn't doing I/O, we may end up returning the delegation. This means that we can no longer cache the file as aggressively, and often also that we multiply the state that both the server and the client needs to track. This patch adds a check for open files to the routine that scans for delegations that are unreferenced. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/delegation.h')
-rw-r--r--fs/nfs/delegation.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/delegation.h b/fs/nfs/delegation.h
index 88573d107502..22f0a138e551 100644
--- a/fs/nfs/delegation.h
+++ b/fs/nfs/delegation.h
@@ -28,6 +28,7 @@ struct nfs_delegation {
enum {
NFS_DELEGATION_NEED_RECLAIM = 0,
NFS_DELEGATION_RETURN,
+ NFS_DELEGATION_RETURN_IF_CLOSED,
NFS_DELEGATION_REFERENCED,
NFS_DELEGATION_RETURNING,
};