diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-03 14:33:49 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-04-05 17:03:55 -0400 |
commit | b757144fd77cf5512f5b60179ba5ca8dcc5184b4 (patch) | |
tree | 8c83188cb1aa8e4ff5e8d25b48a3cf811d31772d /fs/nfs/delegation.h | |
parent | db4f2e637f6d5dff6d07112e62605275be6050b3 (diff) | |
download | op-kernel-dev-b757144fd77cf5512f5b60179ba5ca8dcc5184b4.zip op-kernel-dev-b757144fd77cf5512f5b60179ba5ca8dcc5184b4.tar.gz |
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.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfs/delegation.h b/fs/nfs/delegation.h index 88573d1..22f0a13 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, }; |