|
@@ -170,13 +170,15 @@ static int find_fsync_dnodes(struct f2fs_sb_info *sbi, struct list_head *head)
|
|
|
curseg = CURSEG_I(sbi, CURSEG_WARM_NODE);
|
|
|
blkaddr = NEXT_FREE_BLKADDR(sbi, curseg);
|
|
|
|
|
|
+ ra_meta_pages(sbi, blkaddr, 1, META_POR);
|
|
|
+
|
|
|
while (1) {
|
|
|
struct fsync_inode_entry *entry;
|
|
|
|
|
|
if (blkaddr < MAIN_BLKADDR(sbi) || blkaddr >= MAX_BLKADDR(sbi))
|
|
|
return 0;
|
|
|
|
|
|
- page = get_meta_page_ra(sbi, blkaddr);
|
|
|
+ page = get_meta_page(sbi, blkaddr);
|
|
|
|
|
|
if (cp_ver != cpver_of_node(page))
|
|
|
break;
|
|
@@ -227,6 +229,8 @@ next:
|
|
|
/* check next segment */
|
|
|
blkaddr = next_blkaddr_of_node(page);
|
|
|
f2fs_put_page(page, 1);
|
|
|
+
|
|
|
+ ra_meta_pages_cond(sbi, blkaddr);
|
|
|
}
|
|
|
f2fs_put_page(page, 1);
|
|
|
return err;
|
|
@@ -436,7 +440,9 @@ static int recover_data(struct f2fs_sb_info *sbi,
|
|
|
if (blkaddr < MAIN_BLKADDR(sbi) || blkaddr >= MAX_BLKADDR(sbi))
|
|
|
break;
|
|
|
|
|
|
- page = get_meta_page_ra(sbi, blkaddr);
|
|
|
+ ra_meta_pages_cond(sbi, blkaddr);
|
|
|
+
|
|
|
+ page = get_meta_page(sbi, blkaddr);
|
|
|
|
|
|
if (cp_ver != cpver_of_node(page)) {
|
|
|
f2fs_put_page(page, 1);
|