|
@@ -1609,6 +1609,11 @@ int recover_inode_page(struct f2fs_sb_info *sbi, struct page *page)
|
|
|
struct node_info old_ni, new_ni;
|
|
|
struct page *ipage;
|
|
|
|
|
|
+ get_node_info(sbi, ino, &old_ni);
|
|
|
+
|
|
|
+ if (unlikely(old_ni.blk_addr != NULL_ADDR))
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
ipage = grab_cache_page(NODE_MAPPING(sbi), ino);
|
|
|
if (!ipage)
|
|
|
return -ENOMEM;
|
|
@@ -1616,7 +1621,6 @@ int recover_inode_page(struct f2fs_sb_info *sbi, struct page *page)
|
|
|
/* Should not use this inode from free nid list */
|
|
|
remove_free_nid(NM_I(sbi), ino);
|
|
|
|
|
|
- get_node_info(sbi, ino, &old_ni);
|
|
|
SetPageUptodate(ipage);
|
|
|
fill_node_footer(ipage, ino, ino, 0, true);
|
|
|
|