aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk.kim@samsung.com>2012-12-19 02:09:19 -0500
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2012-12-25 20:39:52 -0500
commit30f0c75858c46a0273ccb838de401b1f5fdebe6f (patch)
tree11a1a02a34d8cb4604cffdb30d1b365d0243aae7 /fs
parent398b1ac5a57219823f942a8d3665b27ab99354de (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.c6
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 */