f2fs: fix to unlock page before exit
authorJaegeuk Kim <jaegeuk.kim@samsung.com>
Mon, 20 May 2013 01:26:09 +0000 (10:26 +0900)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Tue, 28 May 2013 06:03:03 +0000 (15:03 +0900)
If we got an error after lock_page, we should unlock it before exit.

Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/recovery.c

index f91ff0f..3a4b51c 100644 (file)
@@ -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 @@ next:
                /* check next segment */
                blkaddr = next_blkaddr_of_node(page);
        }
-unlock_out:
        unlock_page(page);
 out:
        __free_pages(page, 0);