|
@@ -219,11 +219,11 @@ static int check_index_in_prev_nodes(struct f2fs_sb_info *sbi,
|
|
|
struct seg_entry *sentry;
|
|
|
unsigned int segno = GET_SEGNO(sbi, blkaddr);
|
|
|
unsigned short blkoff = GET_BLKOFF_FROM_SEG0(sbi, blkaddr);
|
|
|
+ struct f2fs_summary_block *sum_node;
|
|
|
struct f2fs_summary sum;
|
|
|
+ struct page *sum_page, *node_page;
|
|
|
nid_t ino, nid;
|
|
|
- void *kaddr;
|
|
|
struct inode *inode;
|
|
|
- struct page *node_page;
|
|
|
unsigned int offset;
|
|
|
block_t bidx;
|
|
|
int i;
|
|
@@ -237,18 +237,15 @@ static int check_index_in_prev_nodes(struct f2fs_sb_info *sbi,
|
|
|
struct curseg_info *curseg = CURSEG_I(sbi, i);
|
|
|
if (curseg->segno == segno) {
|
|
|
sum = curseg->sum_blk->entries[blkoff];
|
|
|
- break;
|
|
|
+ goto got_it;
|
|
|
}
|
|
|
}
|
|
|
- if (i > CURSEG_COLD_DATA) {
|
|
|
- struct page *sum_page = get_sum_page(sbi, segno);
|
|
|
- struct f2fs_summary_block *sum_node;
|
|
|
- kaddr = page_address(sum_page);
|
|
|
- sum_node = (struct f2fs_summary_block *)kaddr;
|
|
|
- sum = sum_node->entries[blkoff];
|
|
|
- f2fs_put_page(sum_page, 1);
|
|
|
- }
|
|
|
|
|
|
+ sum_page = get_sum_page(sbi, segno);
|
|
|
+ sum_node = (struct f2fs_summary_block *)page_address(sum_page);
|
|
|
+ sum = sum_node->entries[blkoff];
|
|
|
+ f2fs_put_page(sum_page, 1);
|
|
|
+got_it:
|
|
|
/* Use the locked dnode page and inode */
|
|
|
nid = le32_to_cpu(sum.nid);
|
|
|
if (dn->inode->i_ino == nid) {
|