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.
Showing the changes to include/linux (1 of 5 files). Show all
Unified · Split
| @@ -1273,11 +1273,15 @@ struct nfs42_falloc_args { · 1272 unmodified lines | |||
| 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 | ||
| 1278 | struct nfs42_falloc_res { | 1279 | struct 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 | ||
| 1283 | struct nfs42_seek_args { | 1287 | struct nfs42_seek_args { |