diff options
author | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-06-14 03:52:35 +0400 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2013-06-14 04:04:45 +0400 |
commit | 354a3399dc6f7e556d04e1c731cd50e08eeb44bd (patch) | |
tree | 755e9c85c22dd0aa8dfdfc204e5697afd99b67af /fs/f2fs/dir.c | |
parent | b25958b6ecf1dce087e62b9aa27cf8f2fe9b5c86 (diff) | |
download | 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.c | 2 |
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; |