|
@@ -248,7 +248,11 @@ retry:
|
|
|
goto next;
|
|
goto next;
|
|
|
}
|
|
}
|
|
|
get_node_info(sbi, dn.nid, &ni);
|
|
get_node_info(sbi, dn.nid, &ni);
|
|
|
- f2fs_replace_block(sbi, &dn, dn.data_blkaddr,
|
|
|
|
|
|
|
+ if (cur->old_addr == NEW_ADDR) {
|
|
|
|
|
+ invalidate_blocks(sbi, dn.data_blkaddr);
|
|
|
|
|
+ f2fs_update_data_blkaddr(&dn, NEW_ADDR);
|
|
|
|
|
+ } else
|
|
|
|
|
+ f2fs_replace_block(sbi, &dn, dn.data_blkaddr,
|
|
|
cur->old_addr, ni.version, true, true);
|
|
cur->old_addr, ni.version, true, true);
|
|
|
f2fs_put_dnode(&dn);
|
|
f2fs_put_dnode(&dn);
|
|
|
}
|
|
}
|