• Home
  • Raw
  • Download

Lines Matching refs:level

23 static u64 adjust_bix(u64 bix, level_t level)  in adjust_bix()  argument
25 switch (level) { in adjust_bix()
67 pgoff_t logfs_pack_index(u64 bix, level_t level) in logfs_pack_index() argument
72 if (level == 0) in logfs_pack_index()
76 index |= (__force long)level << LEVEL_SHIFT; in logfs_pack_index()
77 index |= bix >> ((__force u8)level * LOGFS_BLOCK_BITS); in logfs_pack_index()
81 void logfs_unpack_index(pgoff_t index, u64 *bix, level_t *level) in logfs_unpack_index() argument
87 *level = 0; in logfs_unpack_index()
92 *level = LEVEL(__level); in logfs_unpack_index()
94 *bix = adjust_bix(*bix, *level); in logfs_unpack_index()
275 level_t level) in logfs_get_read_page() argument
278 logfs_pack_index(bix, level), GFP_NOFS); in logfs_get_read_page()
311 level_t level) in logfs_get_write_page() argument
314 pgoff_t index = logfs_pack_index(bix, level); in logfs_get_write_page()
348 static struct page *logfs_get_page(struct inode *inode, u64 bix, level_t level, in logfs_get_page() argument
352 return logfs_get_read_page(inode, bix, level); in logfs_get_page()
354 return logfs_get_write_page(inode, bix, level); in logfs_get_page()
469 level_t level; in inode_write_alias() local
496 level = LEVEL(0); in inode_write_alias()
497 err = write_one_alias(sb, ino, bix, level, pos, val); in inode_write_alias()
510 level_t level; in indirect_write_alias() local
519 logfs_unpack_index(page->index, &bix, &level); in indirect_write_alias()
523 err = write_one_alias(sb, ino, bix, level, pos, val); in indirect_write_alias()
585 u64 ino, u64 bix, level_t level) in __alloc_block() argument
597 block->level = level; in __alloc_block()
648 level_t level; in alloc_data_block() local
653 logfs_unpack_index(page->index, &bix, &level); in alloc_data_block()
654 block = __alloc_block(inode->i_sb, inode->i_ino, bix, level); in alloc_data_block()
734 level_t level, target_level; in logfs_read_loop() local
745 for (level = LEVEL(li->li_height); in logfs_read_loop()
746 (__force u8)level > (__force u8)target_level; in logfs_read_loop()
747 level = SUBLEVEL(level)){ in logfs_read_loop()
748 ipage = logfs_get_page(inode, bix, level, rw_context); in logfs_read_loop()
752 ret = logfs_segment_read(inode, ipage, bofs, bix, level); in logfs_read_loop()
758 bofs = block_get_pointer(ipage, get_bits(bix, SUBLEVEL(level))); in logfs_read_loop()
781 level_t level; in logfs_exist_loop() local
790 for (level = LEVEL(li->li_height); level != 0; level = SUBLEVEL(level)) { in logfs_exist_loop()
791 ipage = logfs_get_read_page(inode, bix, level); in logfs_exist_loop()
795 ret = logfs_segment_read(inode, ipage, bofs, bix, level); in logfs_exist_loop()
801 bofs = block_get_pointer(ipage, get_bits(bix, SUBLEVEL(level))); in logfs_exist_loop()
834 level_t level; in seek_holedata_loop() local
840 for (level = LEVEL(li->li_height); level != 0; level = SUBLEVEL(level)) { in seek_holedata_loop()
841 increment = 1 << (LOGFS_BLOCK_BITS * ((__force u8)level-1)); in seek_holedata_loop()
842 page = logfs_get_read_page(inode, bix, level); in seek_holedata_loop()
846 ret = logfs_segment_read(inode, page, bofs, bix, level); in seek_holedata_loop()
852 slot = get_bits(bix, SUBLEVEL(level)); in seek_holedata_loop()
965 level_t level; in __logfs_is_valid_loop() local
969 for (level = LEVEL(li->li_height); level != 0; level = SUBLEVEL(level)){ in __logfs_is_valid_loop()
970 page = logfs_get_write_page(inode, bix, level); in __logfs_is_valid_loop()
973 ret = logfs_segment_read(inode, page, bofs, bix, level); in __logfs_is_valid_loop()
979 bofs = block_get_pointer(page, get_bits(bix, SUBLEVEL(level))); in __logfs_is_valid_loop()
1218 level_t level, u64 old_ofs) in alloc_shadow() argument
1227 shadow->gc_level = expand_level(inode->i_ino, level); in alloc_shadow()
1345 level_t level; in logfs_write_i0() local
1348 logfs_unpack_index(page->index, &bix, &level); in logfs_write_i0()
1353 shadow = alloc_shadow(inode, bix, level, wc->ofs); in logfs_write_i0()
1365 if (level != 0) { in logfs_write_i0()
1418 pgoff_t bix, level_t target_level, level_t level) in __logfs_write_rec() argument
1421 int child_no = get_bits(bix, SUBLEVEL(level)); in __logfs_write_rec()
1427 ipage = logfs_get_write_page(inode, bix, level); in __logfs_write_rec()
1432 ret = logfs_segment_read(inode, ipage, this_wc->ofs, bix, level); in __logfs_write_rec()
1442 if ((__force u8)level-1 > (__force u8)target_level) in __logfs_write_rec()
1444 target_level, SUBLEVEL(level)); in __logfs_write_rec()
1509 static int grow_inode(struct inode *inode, u64 bix, level_t level) in grow_inode() argument
1512 u8 height = (__force u8)level; in grow_inode()
1545 level_t level; in __logfs_write_buf() local
1551 logfs_unpack_index(index, &bix, &level); in __logfs_write_buf()
1558 bix = adjust_bix(bix, level); in __logfs_write_buf()
1559 err = grow_inode(inode, bix, level); in __logfs_write_buf()
1562 return logfs_write_rec(inode, page, bix, level, flags); in __logfs_write_buf()
1614 level_t level = shrink_level(gc_level); in logfs_rewrite_block() local
1618 page = logfs_get_write_page(inode, bix, level); in logfs_rewrite_block()
1622 err = logfs_segment_read(inode, page, ofs, bix, level); in logfs_rewrite_block()
1624 if (level != 0) in logfs_rewrite_block()
1649 level_t level; in truncate_data_block() local
1656 logfs_unpack_index(page->index, &bix, &level); in truncate_data_block()
1657 BUG_ON(level != 0); in truncate_data_block()
1659 err = logfs_segment_read(inode, page, ofs, bix, level); in truncate_data_block()
1672 level_t level; in logfs_truncate_i0() local
1675 logfs_unpack_index(page->index, &bix, &level); in logfs_truncate_i0()
1676 BUG_ON(level != 0); in logfs_truncate_i0()
1677 shadow = alloc_shadow(inode, bix, level, wc->ofs); in logfs_truncate_i0()
1743 static inline u64 logfs_step(level_t level) in logfs_step() argument
1745 return __logfs_step[(__force u8)level]; in logfs_step()
1748 static inline u64 logfs_factor(u8 level) in logfs_factor() argument
1750 return __logfs_step[level] * LOGFS_BLOCKSIZE; in logfs_factor()
1753 static inline u64 logfs_start_index(level_t level) in logfs_start_index() argument
1755 return __logfs_start_index[(__force u8)level]; in logfs_start_index()
1758 static void logfs_unpack_raw_index(pgoff_t index, u64 *bix, level_t *level) in logfs_unpack_raw_index() argument
1760 logfs_unpack_index(index, bix, level); in logfs_unpack_raw_index()
1761 if (*bix <= logfs_start_index(SUBLEVEL(*level))) in logfs_unpack_raw_index()
1771 level_t level; in __logfs_truncate_rec() local
1775 logfs_unpack_raw_index(ipage->index, &bix, &level); in __logfs_truncate_rec()
1776 err = logfs_segment_read(inode, ipage, this_wc->ofs, bix, level); in __logfs_truncate_rec()
1781 child_bix = bix + e * logfs_step(SUBLEVEL(level)); in __logfs_truncate_rec()
1782 next_bix = child_bix + logfs_step(SUBLEVEL(level)); in __logfs_truncate_rec()
1790 page = logfs_get_write_page(inode, child_bix, SUBLEVEL(level)); in __logfs_truncate_rec()
1794 if ((__force u8)level > 1) in __logfs_truncate_rec()
1907 block->ino, block->bix, block->level); in move_page_to_inode()
1930 block->ino, block->bix, block->level); in move_inode_to_page()
2205 page = logfs_get_write_page(inode, block->bix, block->level); in btree_write_block()