Lines Matching refs:nid

97 static struct page *get_current_nat_page(struct f2fs_sb_info *sbi, nid_t nid)  in get_current_nat_page()  argument
99 pgoff_t index = current_nat_addr(sbi, nid); in get_current_nat_page()
103 static struct page *get_next_nat_page(struct f2fs_sb_info *sbi, nid_t nid) in get_next_nat_page() argument
113 src_off = current_nat_addr(sbi, nid); in get_next_nat_page()
127 set_to_next_nat(nm_i, nid); in get_next_nat_page()
154 nid_t set = NAT_BLOCK_OFFSET(ne->ni.nid); in __set_nat_cache_dirty()
179 nid_t set = NAT_BLOCK_OFFSET(ne->ni.nid); in __clear_nat_cache_dirty()
198 int need_dentry_mark(struct f2fs_sb_info *sbi, nid_t nid) in need_dentry_mark() argument
205 e = __lookup_nat_cache(nm_i, nid); in need_dentry_mark()
215 bool is_checkpointed_node(struct f2fs_sb_info *sbi, nid_t nid) in is_checkpointed_node() argument
222 e = __lookup_nat_cache(nm_i, nid); in is_checkpointed_node()
245 static struct nat_entry *grab_nat_entry(struct f2fs_nm_info *nm_i, nid_t nid) in grab_nat_entry() argument
250 f2fs_radix_tree_insert(&nm_i->nat_root, nid, new); in grab_nat_entry()
252 nat_set_nid(new, nid); in grab_nat_entry()
259 static void cache_nat_entry(struct f2fs_nm_info *nm_i, nid_t nid, in cache_nat_entry() argument
265 e = __lookup_nat_cache(nm_i, nid); in cache_nat_entry()
267 e = grab_nat_entry(nm_i, nid); in cache_nat_entry()
280 e = __lookup_nat_cache(nm_i, ni->nid); in set_node_addr()
282 e = grab_nat_entry(nm_i, ni->nid); in set_node_addr()
311 if (nm_i->next_scan_nid > ni->nid) in set_node_addr()
312 nm_i->next_scan_nid = ni->nid; in set_node_addr()
322 if (ni->nid != ni->ino) in set_node_addr()
325 if (fsync_done && ni->nid == ni->ino) in set_node_addr()
354 void get_node_info(struct f2fs_sb_info *sbi, nid_t nid, struct node_info *ni) in get_node_info() argument
359 nid_t start_nid = START_NID(nid); in get_node_info()
366 ni->nid = nid; in get_node_info()
370 e = __lookup_nat_cache(nm_i, nid); in get_node_info()
384 i = lookup_journal_in_cursum(sum, NAT_JOURNAL, nid, 0); in get_node_info()
396 ne = nat_blk->entries[nid - start_nid]; in get_node_info()
401 cache_nat_entry(NM_I(sbi), nid, &ne); in get_node_info()
534 dn->nid = nids[i]; in get_dnode_of_data()
573 dn->nid = nids[level]; in get_dnode_of_data()
594 get_node_info(sbi, dn->nid, &ni); in truncate_node()
606 if (dn->nid == dn->inode->i_ino) { in truncate_node()
607 remove_orphan_inode(sbi, dn->nid); in truncate_node()
622 trace_f2fs_truncate_node(dn->inode, dn->nid, ni.blk_addr); in truncate_node()
629 if (dn->nid == 0) in truncate_dnode()
633 page = get_node_page(F2FS_I_SB(dn->inode), dn->nid); in truncate_dnode()
658 if (dn->nid == 0) in truncate_nodes()
661 trace_f2fs_truncate_nodes_enter(dn->inode, dn->nid, dn->data_blkaddr); in truncate_nodes()
663 page = get_node_page(F2FS_I_SB(dn->inode), dn->nid); in truncate_nodes()
672 child_nid = le32_to_cpu(rn->in.nid[i]); in truncate_nodes()
675 rdn.nid = child_nid; in truncate_nodes()
684 child_nid = le32_to_cpu(rn->in.nid[i]); in truncate_nodes()
689 rdn.nid = child_nid; in truncate_nodes()
722 nid_t nid[3]; in truncate_partial_nodes() local
728 nid[0] = le32_to_cpu(ri->i_nid[offset[0] - NODE_DIR1_BLOCK]); in truncate_partial_nodes()
729 if (!nid[0]) in truncate_partial_nodes()
735 pages[i] = get_node_page(F2FS_I_SB(dn->inode), nid[i]); in truncate_partial_nodes()
741 nid[i + 1] = get_nid(pages[i], offset[i + 1], false); in truncate_partial_nodes()
749 dn->nid = child_nid; in truncate_partial_nodes()
758 dn->nid = nid[idx]; in truncate_partial_nodes()
770 trace_f2fs_truncate_partial_nodes(dn->inode, nid, depth, err); in truncate_partial_nodes()
830 dn.nid = le32_to_cpu(ri->i_nid[offset[0] - NODE_DIR1_BLOCK]); in truncate_inode_blocks()
877 nid_t nid = F2FS_I(inode)->i_xattr_nid; in truncate_xattr_node() local
881 if (!nid) in truncate_xattr_node()
884 npage = get_node_page(sbi, nid); in truncate_xattr_node()
893 set_new_dnode(&dn, inode, page, npage, nid); in truncate_xattr_node()
957 page = grab_cache_page(NODE_MAPPING(sbi), dn->nid); in new_node_page()
966 get_node_info(sbi, dn->nid, &old_ni); in new_node_page()
975 fill_node_footer(page, dn->nid, dn->inode->i_ino, ofs, true); in new_node_page()
981 F2FS_I(dn->inode)->i_xattr_nid = dn->nid; in new_node_page()
1033 void ra_node_page(struct f2fs_sb_info *sbi, nid_t nid) in ra_node_page() argument
1038 apage = find_get_page(NODE_MAPPING(sbi), nid); in ra_node_page()
1045 apage = grab_cache_page(NODE_MAPPING(sbi), nid); in ra_node_page()
1053 struct page *get_node_page(struct f2fs_sb_info *sbi, pgoff_t nid) in get_node_page() argument
1058 page = grab_cache_page(NODE_MAPPING(sbi), nid); in get_node_page()
1070 if (unlikely(!PageUptodate(page) || nid != nid_of_node(page))) { in get_node_page()
1092 nid_t nid; in get_node_page_ra() local
1095 nid = get_nid(parent, start, false); in get_node_page_ra()
1096 if (!nid) in get_node_page_ra()
1099 page = grab_cache_page(NODE_MAPPING(sbi), nid); in get_node_page_ra()
1117 nid = get_nid(parent, i, false); in get_node_page_ra()
1118 if (!nid) in get_node_page_ra()
1120 ra_node_page(sbi, nid); in get_node_page_ra()
1303 nid_t nid; in f2fs_write_node_page() local
1323 nid = nid_of_node(page); in f2fs_write_node_page()
1324 f2fs_bug_on(sbi, page->index != nid); in f2fs_write_node_page()
1333 get_node_info(sbi, nid, &ni); in f2fs_write_node_page()
1346 write_node_page(nid, &fio); in f2fs_write_node_page()
1424 radix_tree_delete(&nm_i->free_nid_root, i->nid); in __del_from_free_nid_list()
1427 static int add_free_nid(struct f2fs_sb_info *sbi, nid_t nid, bool build) in add_free_nid() argument
1438 if (unlikely(nid == 0)) in add_free_nid()
1444 ne = __lookup_nat_cache(nm_i, nid); in add_free_nid()
1455 i->nid = nid; in add_free_nid()
1464 if (radix_tree_insert(&nm_i->free_nid_root, i->nid, i)) { in add_free_nid()
1477 static void remove_free_nid(struct f2fs_nm_info *nm_i, nid_t nid) in remove_free_nid() argument
1483 i = __lookup_free_nid_list(nm_i, nid); in remove_free_nid()
1525 nid_t nid = nm_i->next_scan_nid; in build_free_nids() local
1532 ra_meta_pages(sbi, NAT_BLOCK_OFFSET(nid), FREE_NID_PAGES, in build_free_nids()
1536 struct page *page = get_current_nat_page(sbi, nid); in build_free_nids()
1538 scan_nat_page(sbi, page, nid); in build_free_nids()
1541 nid += (NAT_ENTRY_PER_BLOCK - (nid % NAT_ENTRY_PER_BLOCK)); in build_free_nids()
1542 if (unlikely(nid >= nm_i->max_nid)) in build_free_nids()
1543 nid = 0; in build_free_nids()
1550 nm_i->next_scan_nid = nid; in build_free_nids()
1556 nid = le32_to_cpu(nid_in_journal(sum, i)); in build_free_nids()
1558 add_free_nid(sbi, nid, true); in build_free_nids()
1560 remove_free_nid(nm_i, nid); in build_free_nids()
1573 bool alloc_nid(struct f2fs_sb_info *sbi, nid_t *nid) in alloc_nid() argument
1593 *nid = i->nid; in alloc_nid()
1599 get_node_info(sbi, *nid, &ni); in alloc_nid()
1601 alloc_nid_done(sbi, *nid); in alloc_nid()
1618 void alloc_nid_done(struct f2fs_sb_info *sbi, nid_t nid) in alloc_nid_done() argument
1624 i = __lookup_free_nid_list(nm_i, nid); in alloc_nid_done()
1635 void alloc_nid_failed(struct f2fs_sb_info *sbi, nid_t nid) in alloc_nid_failed() argument
1641 if (!nid) in alloc_nid_failed()
1645 i = __lookup_free_nid_list(nm_i, nid); in alloc_nid_failed()
1817 sum_entry->nid = rn->footer.nid; in restore_node_summary()
1841 nid_t nid = le32_to_cpu(nid_in_journal(sum, i)); in remove_nats_in_journal() local
1846 ne = __lookup_nat_cache(nm_i, nid); in remove_nats_in_journal()
1848 ne = grab_nat_entry(nm_i, nid); in remove_nats_in_journal()
1907 nid_t nid = nat_get_nid(ne); in __flush_nat_entry_set() local
1915 NAT_JOURNAL, nid, 1); in __flush_nat_entry_set()
1918 nid_in_journal(sum, offset) = cpu_to_le32(nid); in __flush_nat_entry_set()
1920 raw_ne = &nat_blk->entries[nid - start_nid]; in __flush_nat_entry_set()
1930 add_free_nid(sbi, nid, false); in __flush_nat_entry_set()
2055 nid_t nid = 0; in destroy_node_manager() local
2077 nid, NATVEC_SIZE, natvec))) { in destroy_node_manager()
2080 nid = nat_get_nid(natvec[found - 1]) + 1; in destroy_node_manager()
2087 nid = 0; in destroy_node_manager()
2089 nid, SETVEC_SIZE, setvec))) { in destroy_node_manager()
2092 nid = setvec[found - 1]->set + 1; in destroy_node_manager()