aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2014-11-17 19:14:11 -0500
committerJaegeuk Kim <jaegeuk@kernel.org>2014-11-18 20:04:33 -0500
commit8cdcb71322ec21aaee90117b0c01d576851a8faa (patch)
tree2d9649029d56739ad82ca1c1db9ef51ceffa203e /fs/f2fs
parent6d20aff83c24e9a7f15fffe4be36ed33d24465da (diff)
f2fs: put the inode page when error was occurred
We should put the inode page when error was occurred. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/data.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 8f164432408e..12dd58aa569a 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -963,22 +963,22 @@ repeat:
963 } else if (page->index == 0) { 963 } else if (page->index == 0) {
964 err = f2fs_convert_inline_page(&dn, page); 964 err = f2fs_convert_inline_page(&dn, page);
965 if (err) 965 if (err)
966 goto unlock_fail; 966 goto put_fail;
967 } else { 967 } else {
968 struct page *p = grab_cache_page(inode->i_mapping, 0); 968 struct page *p = grab_cache_page(inode->i_mapping, 0);
969 if (!p) { 969 if (!p) {
970 err = -ENOMEM; 970 err = -ENOMEM;
971 goto unlock_fail; 971 goto put_fail;
972 } 972 }
973 err = f2fs_convert_inline_page(&dn, p); 973 err = f2fs_convert_inline_page(&dn, p);
974 f2fs_put_page(p, 1); 974 f2fs_put_page(p, 1);
975 if (err) 975 if (err)
976 goto unlock_fail; 976 goto put_fail;
977 } 977 }
978 } 978 }
979 err = f2fs_reserve_block(&dn, index); 979 err = f2fs_reserve_block(&dn, index);
980 if (err) 980 if (err)
981 goto unlock_fail; 981 goto put_fail;
982put_next: 982put_next:
983 f2fs_put_dnode(&dn); 983 f2fs_put_dnode(&dn);
984 f2fs_unlock_op(sbi); 984 f2fs_unlock_op(sbi);
@@ -1021,6 +1021,8 @@ out:
1021 clear_cold_data(page); 1021 clear_cold_data(page);
1022 return 0; 1022 return 0;
1023 1023
1024put_fail:
1025 f2fs_put_dnode(&dn);
1024unlock_fail: 1026unlock_fail:
1025 f2fs_unlock_op(sbi); 1027 f2fs_unlock_op(sbi);
1026 f2fs_put_page(page, 1); 1028 f2fs_put_page(page, 1);