aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/fat/inode.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index 5741b11650f1..76f60c642c06 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -1463,18 +1463,14 @@ static int writeback_inode(struct inode *inode)
1463{ 1463{
1464 1464
1465 int ret; 1465 int ret;
1466 struct address_space *mapping = inode->i_mapping; 1466
1467 struct writeback_control wbc = { 1467 /* if we used wait=1, sync_inode_metadata waits for the io for the
1468 .sync_mode = WB_SYNC_NONE, 1468 * inode to finish. So wait=0 is sent down to sync_inode_metadata
1469 .nr_to_write = 0,
1470 };
1471 /* if we used WB_SYNC_ALL, sync_inode waits for the io for the
1472 * inode to finish. So WB_SYNC_NONE is sent down to sync_inode
1473 * and filemap_fdatawrite is used for the data blocks 1469 * and filemap_fdatawrite is used for the data blocks
1474 */ 1470 */
1475 ret = sync_inode(inode, &wbc); 1471 ret = sync_inode_metadata(inode, 0);
1476 if (!ret) 1472 if (!ret)
1477 ret = filemap_fdatawrite(mapping); 1473 ret = filemap_fdatawrite(inode->i_mapping);
1478 return ret; 1474 return ret;
1479} 1475}
1480 1476