Lines Matching refs:dn
40 struct dnode_of_data dn; in f2fs_vm_page_mkwrite() local
51 set_new_dnode(&dn, inode, NULL, NULL, 0); in f2fs_vm_page_mkwrite()
52 err = f2fs_reserve_block(&dn, page->index); in f2fs_vm_page_mkwrite()
57 f2fs_put_dnode(&dn); in f2fs_vm_page_mkwrite()
93 f2fs_wait_on_encrypted_page_writeback(sbi, dn.data_blkaddr); in f2fs_vm_page_mkwrite()
329 struct dnode_of_data dn; in f2fs_seek_block() local
353 set_new_dnode(&dn, inode, NULL, NULL, 0); in f2fs_seek_block()
354 err = get_dnode_of_data(&dn, pgofs, LOOKUP_NODE_RA); in f2fs_seek_block()
368 end_offset = ADDRS_PER_PAGE(dn.node_page, F2FS_I(inode)); in f2fs_seek_block()
371 for (; dn.ofs_in_node < end_offset; in f2fs_seek_block()
372 dn.ofs_in_node++, pgofs++, in f2fs_seek_block()
375 blkaddr = datablock_addr(dn.node_page, dn.ofs_in_node); in f2fs_seek_block()
378 f2fs_put_dnode(&dn); in f2fs_seek_block()
382 f2fs_put_dnode(&dn); in f2fs_seek_block()
452 int truncate_data_blocks_range(struct dnode_of_data *dn, int count) in truncate_data_blocks_range() argument
454 struct f2fs_sb_info *sbi = F2FS_I_SB(dn->inode); in truncate_data_blocks_range()
456 int nr_free = 0, ofs = dn->ofs_in_node, len = count; in truncate_data_blocks_range()
459 raw_node = F2FS_NODE(dn->node_page); in truncate_data_blocks_range()
462 for (; count > 0; count--, addr++, dn->ofs_in_node++) { in truncate_data_blocks_range()
467 dn->data_blkaddr = NULL_ADDR; in truncate_data_blocks_range()
468 set_data_blkaddr(dn); in truncate_data_blocks_range()
470 if (dn->ofs_in_node == 0 && IS_INODE(dn->node_page)) in truncate_data_blocks_range()
471 clear_inode_flag(F2FS_I(dn->inode), in truncate_data_blocks_range()
482 fofs = start_bidx_of_node(ofs_of_node(dn->node_page), in truncate_data_blocks_range()
483 F2FS_I(dn->inode)) + ofs; in truncate_data_blocks_range()
484 f2fs_update_extent_cache_range(dn, fofs, 0, len); in truncate_data_blocks_range()
485 dec_valid_block_count(sbi, dn->inode, nr_free); in truncate_data_blocks_range()
486 set_page_dirty(dn->node_page); in truncate_data_blocks_range()
487 sync_inode_page(dn); in truncate_data_blocks_range()
489 dn->ofs_in_node = ofs; in truncate_data_blocks_range()
491 trace_f2fs_truncate_data_blocks_range(dn->inode, dn->nid, in truncate_data_blocks_range()
492 dn->ofs_in_node, nr_free); in truncate_data_blocks_range()
496 void truncate_data_blocks(struct dnode_of_data *dn) in truncate_data_blocks() argument
498 truncate_data_blocks_range(dn, ADDRS_PER_BLOCK); in truncate_data_blocks()
536 struct dnode_of_data dn; in truncate_blocks() local
563 set_new_dnode(&dn, inode, ipage, NULL, 0); in truncate_blocks()
564 err = get_dnode_of_data(&dn, free_from, LOOKUP_NODE); in truncate_blocks()
571 count = ADDRS_PER_PAGE(dn.node_page, F2FS_I(inode)); in truncate_blocks()
573 count -= dn.ofs_in_node; in truncate_blocks()
576 if (dn.ofs_in_node || IS_INODE(dn.node_page)) { in truncate_blocks()
577 truncate_data_blocks_range(&dn, count); in truncate_blocks()
581 f2fs_put_dnode(&dn); in truncate_blocks()
751 struct dnode_of_data dn; in truncate_hole() local
754 set_new_dnode(&dn, inode, NULL, NULL, 0); in truncate_hole()
755 err = get_dnode_of_data(&dn, pg_start, LOOKUP_NODE); in truncate_hole()
764 end_offset = ADDRS_PER_PAGE(dn.node_page, F2FS_I(inode)); in truncate_hole()
765 count = min(end_offset - dn.ofs_in_node, pg_end - pg_start); in truncate_hole()
769 truncate_data_blocks_range(&dn, count); in truncate_hole()
770 f2fs_put_dnode(&dn); in truncate_hole()
838 struct dnode_of_data dn; in __exchange_data_block() local
843 set_new_dnode(&dn, inode, NULL, NULL, 0); in __exchange_data_block()
844 ret = get_dnode_of_data(&dn, src, LOOKUP_NODE_RA); in __exchange_data_block()
850 new_addr = dn.data_blkaddr; in __exchange_data_block()
852 dn.data_blkaddr = NULL_ADDR; in __exchange_data_block()
854 set_data_blkaddr(&dn); in __exchange_data_block()
855 f2fs_update_extent_cache(&dn); in __exchange_data_block()
858 f2fs_put_dnode(&dn); in __exchange_data_block()
873 set_new_dnode(&dn, inode, ipage, NULL, 0); in __exchange_data_block()
874 ret = f2fs_reserve_block(&dn, dst); in __exchange_data_block()
878 truncate_data_blocks_range(&dn, 1); in __exchange_data_block()
880 get_node_info(sbi, dn.nid, &ni); in __exchange_data_block()
881 f2fs_replace_block(sbi, &dn, dn.data_blkaddr, new_addr, in __exchange_data_block()
883 f2fs_put_dnode(&dn); in __exchange_data_block()
905 if (!get_dnode_of_data(&dn, src, LOOKUP_NODE)) { in __exchange_data_block()
906 dn.data_blkaddr = new_addr; in __exchange_data_block()
907 set_data_blkaddr(&dn); in __exchange_data_block()
908 f2fs_update_extent_cache(&dn); in __exchange_data_block()
909 f2fs_put_dnode(&dn); in __exchange_data_block()
1035 struct dnode_of_data dn; in f2fs_zero_range() local
1047 set_new_dnode(&dn, inode, ipage, NULL, 0); in f2fs_zero_range()
1048 ret = f2fs_reserve_block(&dn, index); in f2fs_zero_range()
1054 if (dn.data_blkaddr != NEW_ADDR) { in f2fs_zero_range()
1055 invalidate_blocks(sbi, dn.data_blkaddr); in f2fs_zero_range()
1057 dn.data_blkaddr = NEW_ADDR; in f2fs_zero_range()
1058 set_data_blkaddr(&dn); in f2fs_zero_range()
1060 dn.data_blkaddr = NULL_ADDR; in f2fs_zero_range()
1061 f2fs_update_extent_cache(&dn); in f2fs_zero_range()
1063 f2fs_put_dnode(&dn); in f2fs_zero_range()
1178 struct dnode_of_data dn; in expand_inode_data() local
1183 set_new_dnode(&dn, inode, NULL, NULL, 0); in expand_inode_data()
1184 ret = f2fs_reserve_block(&dn, index); in expand_inode_data()