From: Jaegeuk Kim Date: Wed, 13 Apr 2016 23:14:38 +0000 (-0700) Subject: f2fs: avoid needless lock for node pages when fsyncing a file X-Git-Tag: v4.7-rc1~84^2~58 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=eca76e783cf5970db36edfda7e66487d897ea222;p=karo-tx-linux.git f2fs: avoid needless lock for node pages when fsyncing a file When fsync is called, sync_node_pages finds a proper direct node pages to flush. But, it locks unrelated direct node pages together unnecessarily. Acked-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 095fc2c96e16..cccee5006cdd 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1272,10 +1272,14 @@ next_step: * we should not skip writing node pages. */ lock_node: - if (ino && ino_of_node(page) == ino) - lock_page(page); - else if (!trylock_page(page)) + if (ino) { + if (ino_of_node(page) == ino) + lock_page(page); + else + continue; + } else if (!trylock_page(page)) { continue; + } if (unlikely(page->mapping != NODE_MAPPING(sbi))) { continue_unlock: