diff options
author | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2012-12-19 02:09:19 -0500 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk.kim@samsung.com> | 2012-12-25 20:39:52 -0500 |
commit | 30f0c75858c46a0273ccb838de401b1f5fdebe6f (patch) | |
tree | 11a1a02a34d8cb4604cffdb30d1b365d0243aae7 /fs | |
parent | 398b1ac5a57219823f942a8d3665b27ab99354de (diff) |
f2fs: should recover orphan and fsync data
The recovery routine should do all the time regardless of normal umount action.
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/f2fs/super.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index f4d9e03723db..50240d28ca24 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c | |||
@@ -528,8 +528,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent) | |||
528 | 528 | ||
529 | /* if there are nt orphan nodes free them */ | 529 | /* if there are nt orphan nodes free them */ |
530 | err = -EINVAL; | 530 | err = -EINVAL; |
531 | if (!is_set_ckpt_flags(F2FS_CKPT(sbi), CP_UMOUNT_FLAG) && | 531 | if (recover_orphan_inodes(sbi)) |
532 | recover_orphan_inodes(sbi)) | ||
533 | goto free_node_inode; | 532 | goto free_node_inode; |
534 | 533 | ||
535 | /* read root inode and dentry */ | 534 | /* read root inode and dentry */ |
@@ -548,8 +547,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent) | |||
548 | } | 547 | } |
549 | 548 | ||
550 | /* recover fsynced data */ | 549 | /* recover fsynced data */ |
551 | if (!is_set_ckpt_flags(F2FS_CKPT(sbi), CP_UMOUNT_FLAG) && | 550 | if (!test_opt(sbi, DISABLE_ROLL_FORWARD)) |
552 | !test_opt(sbi, DISABLE_ROLL_FORWARD)) | ||
553 | recover_fsync_data(sbi); | 551 | recover_fsync_data(sbi); |
554 | 552 | ||
555 | /* After POR, we can run background GC thread */ | 553 | /* After POR, we can run background GC thread */ |