[PATCH 4/4] f2fs: use writepages->lock for WB_SYNC_ALL

From: Jaegeuk Kim
Date: Sat Jan 23 2016 - 15:17:17 EST


If there are many writepages calls by multiple threads in background, we don't
need to serialize to merge all the bios, since it's background.
In such the case, it'd better to run writepages concurrently.

Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
---
fs/f2fs/data.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 7d9f1d9..8d0d9ec 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -1403,7 +1403,7 @@ static int f2fs_write_data_pages(struct address_space *mapping,

diff = nr_pages_to_write(sbi, DATA, wbc);

- if (!S_ISDIR(inode->i_mode)) {
+ if (!S_ISDIR(inode->i_mode) && wbc->sync_mode == WB_SYNC_ALL) {
mutex_lock(&sbi->writepages);
locked = true;
}
--
2.6.3