/kernel/linux/linux-5.10/fs/f2fs/ |
H A D | inode.c | 202 static bool sanity_check_inode(struct inode *inode, struct page *node_page) in sanity_check_inode() argument 206 struct f2fs_inode *ri = F2FS_INODE(node_page); in sanity_check_inode() 209 iblocks = le64_to_cpu(F2FS_INODE(node_page)->i_blocks); in sanity_check_inode() 217 if (ino_of_node(node_page) != nid_of_node(node_page)) { in sanity_check_inode() 221 ino_of_node(node_page), nid_of_node(node_page)); in sanity_check_inode() 345 struct page *node_page; in do_read_inode() local 354 node_page = f2fs_get_node_page(sbi, inode->i_ino); in do_read_inode() 355 if (IS_ERR(node_page)) in do_read_inode() 564 f2fs_update_inode(struct inode *inode, struct page *node_page) f2fs_update_inode() argument 662 f2fs_inode_chksum_set(F2FS_I_SB(inode), node_page); f2fs_update_inode() local 669 struct page *node_page; f2fs_update_inode_page() local [all...] |
H A D | node.h | 239 static inline nid_t ino_of_node(struct page *node_page) in ino_of_node() argument 241 struct f2fs_node *rn = F2FS_NODE(node_page); in ino_of_node() 245 static inline nid_t nid_of_node(struct page *node_page) in nid_of_node() argument 247 struct f2fs_node *rn = F2FS_NODE(node_page); in nid_of_node() 251 static inline unsigned int ofs_of_node(struct page *node_page) in ofs_of_node() argument 253 struct f2fs_node *rn = F2FS_NODE(node_page); in ofs_of_node() 258 static inline __u64 cpver_of_node(struct page *node_page) in cpver_of_node() argument 260 struct f2fs_node *rn = F2FS_NODE(node_page); in cpver_of_node() 264 static inline block_t next_blkaddr_of_node(struct page *node_page) in next_blkaddr_of_node() argument 266 struct f2fs_node *rn = F2FS_NODE(node_page); in next_blkaddr_of_node() 345 IS_DNODE(struct page *node_page) IS_DNODE() argument [all...] |
H A D | recovery.c | 436 struct page *sum_page, *node_page; in check_index_in_prev_nodes() local 468 max_addrs = ADDRS_PER_PAGE(dn->node_page, dn->inode); in check_index_in_prev_nodes() 479 tdn.node_page = dn->inode_page; in check_index_in_prev_nodes() 488 node_page = f2fs_get_node_page(sbi, nid); in check_index_in_prev_nodes() 489 if (IS_ERR(node_page)) in check_index_in_prev_nodes() 490 return PTR_ERR(node_page); in check_index_in_prev_nodes() 492 offset = ofs_of_node(node_page); in check_index_in_prev_nodes() 493 ino = ino_of_node(node_page); in check_index_in_prev_nodes() 494 f2fs_put_page(node_page, 1); in check_index_in_prev_nodes() 602 f2fs_wait_on_page_writeback(dn.node_page, NOD in do_recover_data() [all...] |
H A D | gc.c | 910 struct page *node_page; in gc_node_segment() local 933 node_page = f2fs_get_node_page(sbi, nid); in gc_node_segment() 934 if (IS_ERR(node_page)) in gc_node_segment() 939 f2fs_put_page(node_page, 1); in gc_node_segment() 944 f2fs_put_page(node_page, 1); in gc_node_segment() 949 f2fs_put_page(node_page, 1); in gc_node_segment() 953 err = f2fs_move_node_page(node_page, gc_type); in gc_node_segment() 997 struct page *node_page; in is_alive() local 1005 node_page = f2fs_get_node_page(sbi, nid); in is_alive() 1006 if (IS_ERR(node_page)) in is_alive() [all...] |
H A D | node.c | 811 dn->node_page = npage[level]; in f2fs_get_dnode_of_data() 821 dn->node_page = NULL; in f2fs_get_dnode_of_data() 852 clear_node_page_dirty(dn->node_page); in truncate_node() 855 index = dn->node_page->index; in truncate_node() 856 f2fs_put_page(dn->node_page, 1); in truncate_node() 861 dn->node_page = NULL; in truncate_node() 883 dn->node_page = page; in truncate_dnode() 955 dn->node_page = page; in truncate_nodes() 1014 dn->node_page = pages[idx]; in truncate_partial_nodes() 1626 int f2fs_move_node_page(struct page *node_page, in argument [all...] |
H A D | f2fs.h | 905 struct page *node_page; /* cached direct node page */ member 921 dn->node_page = npage; in set_new_dnode() 2449 if (dn->node_page) in f2fs_put_dnode() 2450 f2fs_put_page(dn->node_page, 1); in f2fs_put_dnode() 2451 if (dn->inode_page && dn->node_page != dn->inode_page) in f2fs_put_dnode() 2453 dn->node_page = NULL; in f2fs_put_dnode() 2537 struct page *node_page, unsigned int offset) in data_blkaddr() 2542 bool is_inode = IS_INODE(node_page); in data_blkaddr() 2544 raw_node = F2FS_NODE(node_page); in data_blkaddr() 2560 return data_blkaddr(dn->inode, dn->node_page, d in f2fs_data_blkaddr() 2536 data_blkaddr(struct inode *inode, struct page *node_page, unsigned int offset) data_blkaddr() argument [all...] |
H A D | file.c | 445 end_offset = ADDRS_PER_PAGE(dn.node_page, inode); in f2fs_seek_block() 557 if (IS_INODE(dn->node_page) && f2fs_has_extra_attr(dn->inode)) in f2fs_truncate_data_blocks_range() 560 raw_node = F2FS_NODE(dn->node_page); in f2fs_truncate_data_blocks_range() 590 if (dn->ofs_in_node == 0 && IS_INODE(dn->node_page)) in f2fs_truncate_data_blocks_range() 608 fofs = f2fs_start_bidx_of_node(ofs_of_node(dn->node_page), in f2fs_truncate_data_blocks_range() 699 count = ADDRS_PER_PAGE(dn.node_page, inode); in f2fs_do_truncate_blocks() 704 if (dn.ofs_in_node || IS_INODE(dn.node_page)) { in f2fs_do_truncate_blocks() 1035 end_offset = ADDRS_PER_PAGE(dn.node_page, inode); in f2fs_truncate_hole() 1130 done = min((pgoff_t)ADDRS_PER_PAGE(dn.node_page, inode) - in __read_out_blkaddrs() 1219 ADDRS_PER_PAGE(dn.node_page, dst_inod in __clone_blkaddrs() [all...] |
H A D | data.c | 1105 struct f2fs_node *rn = F2FS_NODE(dn->node_page); in __set_data_blkaddr() 1109 if (IS_INODE(dn->node_page) && f2fs_has_extra_attr(dn->inode)) in __set_data_blkaddr() 1120 * ->node_page 1125 f2fs_wait_on_page_writeback(dn->node_page, NODE, true, true); in f2fs_set_data_blkaddr() 1127 if (set_page_dirty(dn->node_page)) in f2fs_set_data_blkaddr() 1155 f2fs_wait_on_page_writeback(dn->node_page, NODE, true, true); in f2fs_reserve_new_blocks() 1166 if (set_page_dirty(dn->node_page)) in f2fs_reserve_new_blocks() 1588 end_offset = ADDRS_PER_PAGE(dn.node_page, inode); in f2fs_map_blocks() 2248 blkaddr = data_blkaddr(dn.inode, dn.node_page, in f2fs_read_multi_pages() 2297 blkaddr = data_blkaddr(dn.inode, dn.node_page, in f2fs_read_multi_pages() [all...] |
H A D | compress.c | 868 dn.node_page, dn.ofs_in_node + i); in __f2fs_cluster_blocks() 1186 if (data_blkaddr(dn.inode, dn.node_page, in f2fs_write_compressed_pages() 1217 fio.old_blkaddr = data_blkaddr(dn.inode, dn.node_page, in f2fs_write_compressed_pages()
|
H A D | extent_cache.c | 834 fofs = f2fs_start_bidx_of_node(ofs_of_node(dn->node_page), dn->inode) + in f2fs_update_extent_cache()
|
/kernel/linux/linux-6.6/fs/f2fs/ |
H A D | inode.c | 64 static void __get_inode_rdev(struct inode *inode, struct page *node_page) in __get_inode_rdev() argument 66 __le32 *addr = get_dnode_addr(inode, node_page); in __get_inode_rdev() 77 static void __set_inode_rdev(struct inode *inode, struct page *node_page) in __set_inode_rdev() argument 79 __le32 *addr = get_dnode_addr(inode, node_page); in __set_inode_rdev() 261 static bool sanity_check_inode(struct inode *inode, struct page *node_page) in sanity_check_inode() argument 265 struct f2fs_inode *ri = F2FS_INODE(node_page); in sanity_check_inode() 268 iblocks = le64_to_cpu(F2FS_INODE(node_page)->i_blocks); in sanity_check_inode() 275 if (ino_of_node(node_page) != nid_of_node(node_page)) { in sanity_check_inode() 278 ino_of_node(node_page), nid_of_nod in sanity_check_inode() 380 struct page *node_page; do_read_inode() local 640 f2fs_update_inode(struct inode *inode, struct page *node_page) f2fs_update_inode() argument 743 f2fs_inode_chksum_set(F2FS_I_SB(inode), node_page); f2fs_update_inode() local 750 struct page *node_page; f2fs_update_inode_page() local [all...] |
H A D | node.h | 239 static inline nid_t ino_of_node(struct page *node_page) in ino_of_node() argument 241 struct f2fs_node *rn = F2FS_NODE(node_page); in ino_of_node() 245 static inline nid_t nid_of_node(struct page *node_page) in nid_of_node() argument 247 struct f2fs_node *rn = F2FS_NODE(node_page); in nid_of_node() 251 static inline unsigned int ofs_of_node(struct page *node_page) in ofs_of_node() argument 253 struct f2fs_node *rn = F2FS_NODE(node_page); in ofs_of_node() 258 static inline __u64 cpver_of_node(struct page *node_page) in cpver_of_node() argument 260 struct f2fs_node *rn = F2FS_NODE(node_page); in cpver_of_node() 264 static inline block_t next_blkaddr_of_node(struct page *node_page) in next_blkaddr_of_node() argument 266 struct f2fs_node *rn = F2FS_NODE(node_page); in next_blkaddr_of_node() 345 IS_DNODE(struct page *node_page) IS_DNODE() argument [all...] |
H A D | recovery.c | 502 struct page *sum_page, *node_page; in check_index_in_prev_nodes() local 535 max_addrs = ADDRS_PER_PAGE(dn->node_page, dn->inode); in check_index_in_prev_nodes() 547 tdn.node_page = dn->inode_page; in check_index_in_prev_nodes() 556 node_page = f2fs_get_node_page(sbi, nid); in check_index_in_prev_nodes() 557 if (IS_ERR(node_page)) in check_index_in_prev_nodes() 558 return PTR_ERR(node_page); in check_index_in_prev_nodes() 560 offset = ofs_of_node(node_page); in check_index_in_prev_nodes() 561 ino = ino_of_node(node_page); in check_index_in_prev_nodes() 562 f2fs_put_page(node_page, 1); in check_index_in_prev_nodes() 670 f2fs_wait_on_page_writeback(dn.node_page, NOD in do_recover_data() [all...] |
H A D | gc.c | 1018 struct page *node_page; in gc_node_segment() local 1041 node_page = f2fs_get_node_page(sbi, nid); in gc_node_segment() 1042 if (IS_ERR(node_page)) in gc_node_segment() 1047 f2fs_put_page(node_page, 1); in gc_node_segment() 1052 f2fs_put_page(node_page, 1); in gc_node_segment() 1057 f2fs_put_page(node_page, 1); in gc_node_segment() 1061 err = f2fs_move_node_page(node_page, gc_type); in gc_node_segment() 1107 struct page *node_page; in is_alive() local 1115 node_page = f2fs_get_node_page(sbi, nid); in is_alive() 1116 if (IS_ERR(node_page)) in is_alive() [all...] |
H A D | node.c | 850 dn->node_page = npage[level]; in f2fs_get_dnode_of_data() 871 blkaddr = data_blkaddr(dn->inode, dn->node_page, ofs_in_node); in f2fs_get_dnode_of_data() 873 blkaddr = data_blkaddr(dn->inode, dn->node_page, in f2fs_get_dnode_of_data() 888 dn->node_page = NULL; in f2fs_get_dnode_of_data() 919 clear_node_page_dirty(dn->node_page); in truncate_node() 922 index = dn->node_page->index; in truncate_node() 923 f2fs_put_page(dn->node_page, 1); in truncate_node() 928 dn->node_page = NULL; in truncate_node() 960 dn->node_page = page; in truncate_dnode() 1032 dn->node_page in truncate_nodes() 1708 f2fs_move_node_page(struct page *node_page, int gc_type) f2fs_move_node_page() argument [all...] |
H A D | compress.c | 913 block_t blkaddr = data_blkaddr(dn->inode, dn->node_page, in f2fs_sanity_check_cluster() 971 dn.node_page, dn.ofs_in_node + i); in __f2fs_cluster_blocks() 1267 if (data_blkaddr(dn.inode, dn.node_page, in f2fs_write_compressed_pages() 1298 fio.old_blkaddr = data_blkaddr(dn.inode, dn.node_page, in f2fs_write_compressed_pages() 1816 bool compressed = data_blkaddr(dn->inode, dn->node_page, in f2fs_cluster_blocks_are_contiguous() 1819 block_t first_blkaddr = data_blkaddr(dn->inode, dn->node_page, in f2fs_cluster_blocks_are_contiguous() 1823 block_t blkaddr = data_blkaddr(dn->inode, dn->node_page, in f2fs_cluster_blocks_are_contiguous()
|
H A D | f2fs.h | 965 struct page *node_page; /* cached direct node page */ member 981 dn->node_page = npage; in set_new_dnode() 2784 if (dn->node_page) in f2fs_put_dnode() 2785 f2fs_put_page(dn->node_page, 1); in f2fs_put_dnode() 2786 if (dn->inode_page && dn->node_page != dn->inode_page) in f2fs_put_dnode() 2788 dn->node_page = NULL; in f2fs_put_dnode() 2887 struct page *node_page, unsigned int offset) in data_blkaddr() 2892 bool is_inode = IS_INODE(node_page); in data_blkaddr() 2894 raw_node = F2FS_NODE(node_page); in data_blkaddr() 2910 return data_blkaddr(dn->inode, dn->node_page, d in f2fs_data_blkaddr() 2886 data_blkaddr(struct inode *inode, struct page *node_page, unsigned int offset) data_blkaddr() argument 3432 get_dnode_addr(struct inode *inode, struct page *node_page) get_dnode_addr() argument [all...] |
H A D | file.c | 455 end_offset = ADDRS_PER_PAGE(dn.node_page, inode); in f2fs_seek_block() 567 addr = get_dnode_addr(dn->inode, dn->node_page) + ofs; in f2fs_truncate_data_blocks_range() 610 fofs = f2fs_start_bidx_of_node(ofs_of_node(dn->node_page), in f2fs_truncate_data_blocks_range() 697 count = ADDRS_PER_PAGE(dn.node_page, inode); in f2fs_do_truncate_blocks() 702 if (dn.ofs_in_node || IS_INODE(dn.node_page)) { in f2fs_do_truncate_blocks() 1086 end_offset = ADDRS_PER_PAGE(dn.node_page, inode); in f2fs_truncate_hole() 1181 done = min((pgoff_t)ADDRS_PER_PAGE(dn.node_page, inode) - in __read_out_blkaddrs() 1271 ADDRS_PER_PAGE(dn.node_page, dst_inode) - in __clone_blkaddrs() 1559 end_offset = ADDRS_PER_PAGE(dn.node_page, inode); in f2fs_zero_range() 3449 blkaddr = data_blkaddr(dn->inode, dn->node_page, in release_compress_blocks() [all...] |
H A D | data.c | 1184 __le32 *addr = get_dnode_addr(dn->inode, dn->node_page); in __set_data_blkaddr() 1193 * ->node_page 1198 f2fs_wait_on_page_writeback(dn->node_page, NODE, true, true); in f2fs_set_data_blkaddr() 1200 if (set_page_dirty(dn->node_page)) in f2fs_set_data_blkaddr() 1228 f2fs_wait_on_page_writeback(dn->node_page, NODE, true, true); in f2fs_reserve_new_blocks() 1239 if (set_page_dirty(dn->node_page)) in f2fs_reserve_new_blocks() 1637 end_offset = ADDRS_PER_PAGE(dn.node_page, inode); in f2fs_map_blocks() 2297 blkaddr = from_dnode ? data_blkaddr(dn.inode, dn.node_page, in f2fs_read_multi_pages() 2331 blkaddr = from_dnode ? data_blkaddr(dn.inode, dn.node_page, in f2fs_read_multi_pages()
|
H A D | extent_cache.c | 880 ei.fofs = f2fs_start_bidx_of_node(ofs_of_node(dn->node_page), dn->inode) + in __update_extent_cache()
|
H A D | segment.c | 325 blen = min((pgoff_t)ADDRS_PER_PAGE(dn.node_page, cow_inode), in __f2fs_commit_atomic_write()
|