f2fs: fix to unlock page before exit

If we got an error after lock_page, we should unlock it before exit.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
This commit is contained in:
Jaegeuk Kim 2013-05-20 10:26:09 +09:00
parent 9a55ed656c
commit 45856aff0d
1 changed files with 2 additions and 3 deletions

View File

@ -347,7 +347,7 @@ static int recover_data(struct f2fs_sb_info *sbi,
lock_page(page); lock_page(page);
if (cp_ver != cpver_of_node(page)) if (cp_ver != cpver_of_node(page))
goto unlock_out; break;
entry = get_fsync_inode(head, ino_of_node(page)); entry = get_fsync_inode(head, ino_of_node(page));
if (!entry) if (!entry)
@ -355,7 +355,7 @@ static int recover_data(struct f2fs_sb_info *sbi,
err = do_recover_data(sbi, entry->inode, page, blkaddr); err = do_recover_data(sbi, entry->inode, page, blkaddr);
if (err) if (err)
goto out; break;
if (entry->blkaddr == blkaddr) { if (entry->blkaddr == blkaddr) {
iput(entry->inode); iput(entry->inode);
@ -366,7 +366,6 @@ next:
/* check next segment */ /* check next segment */
blkaddr = next_blkaddr_of_node(page); blkaddr = next_blkaddr_of_node(page);
} }
unlock_out:
unlock_page(page); unlock_page(page);
out: out:
__free_pages(page, 0); __free_pages(page, 0);