aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2010-06-01 21:59:18 +0200
committerJ. Bruce Fields <bfields@citi.umich.edu>2010-06-01 19:17:50 -0400
commitb160fdabe93a8a53094f90f02bf4dcb500782aab (patch)
treeb9d91c54bd22b5d059479ba69c7a732a90d566ac
parente40152ee1e1c7a63f4777791863215e3faa37a86 (diff)
downloadmrst-s0i3-test-b160fdabe93a8a53094f90f02bf4dcb500782aab.tar.gz
mrst-s0i3-test-b160fdabe93a8a53094f90f02bf4dcb500782aab.tar.xz
mrst-s0i3-test-b160fdabe93a8a53094f90f02bf4dcb500782aab.zip
nfsd: nfsd_setattr needs to call commit_metadata
The conversion of write_inode_now calls to commit_metadata in commit f501912a35c02eadc55ca9396ece55fe36f785d0 missed out the call in nfsd_setattr. But without this conversion we can't guarantee that a SETATTR request has actually been commited to disk with XFS, which causes a regression from 2.6.32 (only for NFSv2, but anyway). Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: stable@kernel.org Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
-rw-r--r--fs/nfsd/vfs.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 6dd5f1970e0..3440dd8a4fb 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -443,8 +443,7 @@ nfsd_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp, struct iattr *iap,
if (size_change)
put_write_access(inode);
if (!err)
- if (EX_ISSYNC(fhp->fh_export))
- write_inode_now(inode, 1);
+ commit_metadata(fhp);
out:
return err;