summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/dir.c
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2013-06-14 08:52:35 +0900
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-06-14 09:04:45 +0900
commit354a3399dc6f7e556d04e1c731cd50e08eeb44bd (patch)
tree755e9c85c22dd0aa8dfdfc204e5697afd99b67af /fs/f2fs/dir.c
parentb25958b6ecf1dce087e62b9aa27cf8f2fe9b5c86 (diff)
downloadlinux-354a3399dc6f7e556d04e1c731cd50e08eeb44bd.tar.gz
linux-354a3399dc6f7e556d04e1c731cd50e08eeb44bd.tar.xz
f2fs: recover wrong pino after checkpoint during fsync
If a file is linked, f2fs loose its parent inode number so that fsync calls for the linked file should do checkpoint all the time. But, if we can recover its parent inode number after the checkpoint, we can adjust roll-forward mechanism for the further fsync calls, which is able to improve the fsync performance significatly. Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs/f2fs/dir.c')
-rw-r--r--fs/f2fs/dir.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c
index 69ca049b5168..4f21452f929d 100644
--- a/fs/f2fs/dir.c
+++ b/fs/f2fs/dir.c
@@ -356,7 +356,7 @@ static struct page *init_inode_metadata(struct inode *inode,
* We lost i_pino from now on.
*/
if (is_inode_flag_set(F2FS_I(inode), FI_INC_LINK)) {
- set_cp_file(inode);
+ file_lost_pino(inode);
inc_nlink(inode);
}
return page;