diff options
-rw-r--r-- | fs/fat/inode.c | 14 |
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 | ||