diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c index f91ff0f0044df14939f851082045c98f7e8296b8..3a4b51c03321c6cfbd2953c3aae87f73ce188b65 100644 --- a/fs/f2fs/recovery.c +++ b/fs/f2fs/recovery.c @@ -347,7 +347,7 @@ static int recover_data(struct f2fs_sb_info *sbi, lock_page(page); if (cp_ver != cpver_of_node(page)) - goto unlock_out; + break; entry = get_fsync_inode(head, ino_of_node(page)); if (!entry) @@ -355,7 +355,7 @@ static int recover_data(struct f2fs_sb_info *sbi, err = do_recover_data(sbi, entry->inode, page, blkaddr); if (err) - goto out; + break; if (entry->blkaddr == blkaddr) { iput(entry->inode); @@ -366,7 +366,6 @@ static int recover_data(struct f2fs_sb_info *sbi, /* check next segment */ blkaddr = next_blkaddr_of_node(page); } -unlock_out: unlock_page(page); out: __free_pages(page, 0);