summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2014-04-21 10:29:17 -0700
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-05-28 17:45:30 -0400
commit1b33809ea8c671ccbceeaaa8d842631b441bed54 (patch)
tree534b6e6b3ffcc3cf2df17b3cf184fb92269b233b
parent7a9a7b774fd543467313894fe53bc7dcc47d5708 (diff)
downloadop-kernel-dev-1b33809ea8c671ccbceeaaa8d842631b441bed54.zip
op-kernel-dev-1b33809ea8c671ccbceeaaa8d842631b441bed54.tar.gz
nfs: commit layouts in fdatasync
"fdatasync() is similar to fsync(), but does not flush modified metadata unless that metadata is needed in order to allow a subsequent data retrieval to be correctly handled." We absolutely need to commit the layouts to be able to retrieve the data in case either the client, the server or the storage subsystem go down. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
-rw-r--r--fs/nfs/nfs4file.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c
index 8de3407..464db9d 100644
--- a/fs/nfs/nfs4file.c
+++ b/fs/nfs/nfs4file.c
@@ -100,8 +100,7 @@ nfs4_file_fsync(struct file *file, loff_t start, loff_t end, int datasync)
break;
mutex_lock(&inode->i_mutex);
ret = nfs_file_fsync_commit(file, start, end, datasync);
- if (!ret && !datasync)
- /* application has asked for meta-data sync */
+ if (!ret)
ret = pnfs_layoutcommit_inode(inode, true);
mutex_unlock(&inode->i_mutex);
/*
OpenPOWER on IntegriCloud