We need to take the i_mutex before writing back the inode to ensure that
the file doesn't change before calling DEALLOCATE.
Signed-off-by: Anna Schumaker <[email protected]>
---
fs/nfs/nfs42proc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/nfs/nfs42proc.c b/fs/nfs/nfs42proc.c
index 6e81749..10d8eb4 100644
--- a/fs/nfs/nfs42proc.c
+++ b/fs/nfs/nfs42proc.c
@@ -122,8 +122,8 @@ int nfs42_proc_deallocate(struct file *filep, loff_t offset, loff_t len)
if (!nfs_server_capable(inode, NFS_CAP_DEALLOCATE))
return -EOPNOTSUPP;
- nfs_wb_all(inode);
mutex_lock(&inode->i_mutex);
+ nfs_wb_all(inode);
err = nfs42_proc_fallocate(&msg, filep, offset, len);
if (err == 0)
--
2.7.0