aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorAnna Schumaker <Anna.Schumaker@netapp.com>2015-03-16 14:06:23 -0400
committerTrond Myklebust <trond.myklebust@primarydata.com>2015-04-23 14:36:28 -0400
commit9a51940bf65bf9fdc93027d70bdecdfc403c5b24 (patch)
tree2b5a6788cebb2ed1a02d398d929d5a78572bec46 /include
parent8c18d76bcba874e872410ca63c7e59b10aafa17d (diff)
NFS: Don't zap caches on fallocate()
This patch adds a GETATTR to the end of ALLOCATE and DEALLOCATE operations so we can set the updated inode size and change attribute directly. DEALLOCATE will still need to release pagecache pages, so nfs42_proc_deallocate() now calls truncate_pagecache_range() before contacting the server. Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/nfs_xdr.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
index 3d88908fd140..93ab6071bbe9 100644
--- a/include/linux/nfs_xdr.h
+++ b/include/linux/nfs_xdr.h
@@ -1273,11 +1273,15 @@ struct nfs42_falloc_args {
1273 nfs4_stateid falloc_stateid; 1273 nfs4_stateid falloc_stateid;
1274 u64 falloc_offset; 1274 u64 falloc_offset;
1275 u64 falloc_length; 1275 u64 falloc_length;
1276 const u32 *falloc_bitmask;
1276}; 1277};
1277 1278
1278struct nfs42_falloc_res { 1279struct nfs42_falloc_res {
1279 struct nfs4_sequence_res seq_res; 1280 struct nfs4_sequence_res seq_res;
1280 unsigned int status; 1281 unsigned int status;
1282
1283 struct nfs_fattr *falloc_fattr;
1284 const struct nfs_server *falloc_server;
1281}; 1285};
1282 1286
1283struct nfs42_seek_args { 1287struct nfs42_seek_args {