/linux-4.1.27/fs/f2fs/ |
H A D | inode.c | 102 struct page *node_page; do_read_inode() local 113 node_page = get_node_page(sbi, inode->i_ino); do_read_inode() 114 if (IS_ERR(node_page)) do_read_inode() 115 return PTR_ERR(node_page); do_read_inode() 117 ri = F2FS_INODE(node_page); do_read_inode() 148 __recover_inline_status(inode, node_page); do_read_inode() 156 f2fs_put_page(node_page, 1); do_read_inode() 221 void update_inode(struct inode *inode, struct page *node_page) update_inode() argument 225 f2fs_wait_on_page_writeback(node_page, NODE); update_inode() 227 ri = F2FS_INODE(node_page); update_inode() 257 set_cold_node(inode, node_page); update_inode() 258 set_page_dirty(node_page); update_inode() 266 struct page *node_page; update_inode_page() local 268 node_page = get_node_page(sbi, inode->i_ino); update_inode_page() 269 if (IS_ERR(node_page)) { update_inode_page() 270 int err = PTR_ERR(node_page); update_inode_page() 279 update_inode(inode, node_page); update_inode_page() 280 f2fs_put_page(node_page, 1); update_inode_page()
|
H A D | node.h | 248 static inline nid_t ino_of_node(struct page *node_page) ino_of_node() argument 250 struct f2fs_node *rn = F2FS_NODE(node_page); ino_of_node() 254 static inline nid_t nid_of_node(struct page *node_page) nid_of_node() argument 256 struct f2fs_node *rn = F2FS_NODE(node_page); nid_of_node() 260 static inline unsigned int ofs_of_node(struct page *node_page) ofs_of_node() argument 262 struct f2fs_node *rn = F2FS_NODE(node_page); ofs_of_node() 267 static inline unsigned long long cpver_of_node(struct page *node_page) cpver_of_node() argument 269 struct f2fs_node *rn = F2FS_NODE(node_page); cpver_of_node() 273 static inline block_t next_blkaddr_of_node(struct page *node_page) next_blkaddr_of_node() argument 275 struct f2fs_node *rn = F2FS_NODE(node_page); next_blkaddr_of_node() 300 static inline bool IS_DNODE(struct page *node_page) IS_DNODE() argument 302 unsigned int ofs = ofs_of_node(node_page); IS_DNODE()
|
H A D | recovery.c | 255 struct page *sum_page, *node_page; check_index_in_prev_nodes() local 287 tdn.node_page = dn->inode_page; check_index_in_prev_nodes() 296 node_page = get_node_page(sbi, nid); check_index_in_prev_nodes() 297 if (IS_ERR(node_page)) check_index_in_prev_nodes() 298 return PTR_ERR(node_page); check_index_in_prev_nodes() 300 offset = ofs_of_node(node_page); check_index_in_prev_nodes() 301 ino = ino_of_node(node_page); check_index_in_prev_nodes() 302 f2fs_put_page(node_page, 1); check_index_in_prev_nodes() 339 if (datablock_addr(tdn.node_page, tdn.ofs_in_node) == blkaddr) check_index_in_prev_nodes() 386 f2fs_wait_on_page_writeback(dn.node_page, NODE); do_recover_data() 390 f2fs_bug_on(sbi, ofs_of_node(dn.node_page) != ofs_of_node(page)); do_recover_data() 395 src = datablock_addr(dn.node_page, dn.ofs_in_node); do_recover_data() 424 if (IS_INODE(dn.node_page)) do_recover_data() 427 copy_node_footer(dn.node_page, page); do_recover_data() 428 fill_node_footer(dn.node_page, dn.nid, ni.ino, do_recover_data() 430 set_page_dirty(dn.node_page); do_recover_data()
|
H A D | gc.c | 406 struct page *node_page; gc_node_segment() local 419 node_page = get_node_page(sbi, nid); gc_node_segment() 420 if (IS_ERR(node_page)) gc_node_segment() 425 f2fs_put_page(node_page, 1); gc_node_segment() 431 f2fs_wait_on_page_writeback(node_page, NODE); gc_node_segment() 432 set_page_dirty(node_page); gc_node_segment() 434 if (!PageWriteback(node_page)) gc_node_segment() 435 set_page_dirty(node_page); gc_node_segment() 437 f2fs_put_page(node_page, 1); gc_node_segment() 493 struct page *node_page; check_dnode() local 501 node_page = get_node_page(sbi, nid); check_dnode() 502 if (IS_ERR(node_page)) check_dnode() 508 f2fs_put_page(node_page, 1); check_dnode() 512 *nofs = ofs_of_node(node_page); check_dnode() 513 source_blkaddr = datablock_addr(node_page, ofs_in_node); check_dnode() 514 f2fs_put_page(node_page, 1); check_dnode()
|
H A D | data.c | 200 * ->node_page 207 struct page *node_page = dn->node_page; set_data_blkaddr() local 210 f2fs_wait_on_page_writeback(node_page, NODE); set_data_blkaddr() 212 rn = F2FS_NODE(node_page); set_data_blkaddr() 217 set_page_dirty(node_page); set_data_blkaddr() 897 fofs = start_bidx_of_node(ofs_of_node(dn->node_page), fi) + f2fs_update_extent_cache() 1128 dn->data_blkaddr = datablock_addr(dn->node_page, dn->ofs_in_node); __allocate_data_block() 1139 if (dn->ofs_in_node == 0 && dn->inode_page == dn->node_page) __allocate_data_block() 1149 fofs = start_bidx_of_node(ofs_of_node(dn->node_page), fi) + __allocate_data_block() 1177 end_offset = ADDRS_PER_PAGE(dn.node_page, F2FS_I(inode)); __allocate_data_blocks() 1182 blkaddr = datablock_addr(dn.node_page, dn.ofs_in_node); __allocate_data_blocks() 1266 end_offset = ADDRS_PER_PAGE(dn.node_page, F2FS_I(inode)); __get_data_block() 1288 end_offset = ADDRS_PER_PAGE(dn.node_page, F2FS_I(inode)); __get_data_block() 1292 block_t blkaddr = datablock_addr(dn.node_page, dn.ofs_in_node); __get_data_block()
|
H A D | node.c | 567 dn->node_page = npage[level]; get_dnode_of_data() 568 dn->data_blkaddr = datablock_addr(dn->node_page, dn->ofs_in_node); get_dnode_of_data() 577 dn->node_page = NULL; get_dnode_of_data() 605 clear_node_page_dirty(dn->node_page); truncate_node() 608 f2fs_put_page(dn->node_page, 1); truncate_node() 611 dn->node_page->index, dn->node_page->index); truncate_node() 613 dn->node_page = NULL; truncate_node() 632 dn->node_page = page; truncate_dnode() 695 dn->node_page = page; truncate_nodes() 749 dn->node_page = pages[idx]; truncate_partial_nodes() 971 dn->node_page = page; new_node_page() 1126 if (IS_INODE(dn->node_page) || dn->inode_page == dn->node_page) { sync_inode_page() 1127 update_inode(dn->inode, dn->node_page); sync_inode_page()
|
H A D | file.c | 356 end_offset = ADDRS_PER_PAGE(dn.node_page, F2FS_I(inode)); f2fs_seek_block() 363 blkaddr = datablock_addr(dn.node_page, dn.ofs_in_node); f2fs_seek_block() 429 raw_node = F2FS_NODE(dn->node_page); truncate_data_blocks_range() 441 if (dn->ofs_in_node == 0 && IS_INODE(dn->node_page)) truncate_data_blocks_range() 448 set_page_dirty(dn->node_page); truncate_data_blocks_range() 529 count = ADDRS_PER_PAGE(dn.node_page, F2FS_I(inode)); truncate_blocks() 534 if (dn.ofs_in_node || IS_INODE(dn.node_page)) { truncate_blocks()
|
H A D | f2fs.h | 436 struct page *node_page; /* cached direct node page */ member in struct:dnode_of_data 449 dn->node_page = npage; set_new_dnode() 1129 if (dn->node_page) f2fs_put_dnode() 1130 f2fs_put_page(dn->node_page, 1); f2fs_put_dnode() 1131 if (dn->inode_page && dn->node_page != dn->inode_page) f2fs_put_dnode() 1133 dn->node_page = NULL; f2fs_put_dnode() 1177 static inline block_t datablock_addr(struct page *node_page, datablock_addr() argument 1182 raw_node = F2FS_NODE(node_page); datablock_addr()
|