Lines Matching refs:li
116 struct logfs_inode *li = logfs_inode(inode); in logfs_disk_to_inode() local
120 li->li_height = di->di_height; in logfs_disk_to_inode()
121 li->li_flags = be32_to_cpu(di->di_flags); in logfs_disk_to_inode()
143 li->li_data[i] = be64_to_cpu(di->di_data[i]); in logfs_disk_to_inode()
152 struct logfs_inode *li = logfs_inode(inode); in logfs_inode_to_disk() local
156 di->di_height = li->li_height; in logfs_inode_to_disk()
158 di->di_flags = cpu_to_be32(li->li_flags); in logfs_inode_to_disk()
162 di->di_used_bytes = cpu_to_be64(li->li_used_bytes); in logfs_inode_to_disk()
180 di->di_data[i] = cpu_to_be64(li->li_data[i]); in logfs_inode_to_disk()
190 struct logfs_inode *li = logfs_inode(inode); in __logfs_set_blocks() local
193 if (li->li_used_bytes >> sb->s_blocksize_bits < ULONG_MAX) in __logfs_set_blocks()
194 inode->i_blocks = ALIGN(li->li_used_bytes, 512) >> 9; in __logfs_set_blocks()
199 struct logfs_inode *li = logfs_inode(inode); in logfs_set_blocks() local
201 li->li_used_bytes = bytes; in logfs_set_blocks()
444 struct logfs_inode *li = logfs_inode(inode); in inode_val0() local
456 (u64)li->li_height << 40 | in inode_val0()
457 (u64)li->li_flags; in inode_val0()
465 struct logfs_inode *li = logfs_inode(inode); in inode_write_alias() local
482 val = cpu_to_be64(li->li_used_bytes); in inode_write_alias()
488 val = cpu_to_be64(li->li_data[pos - INODE_POINTER_OFS]); in inode_write_alias()
603 struct logfs_inode *li = logfs_inode(inode); in alloc_inode_block() local
606 if (li->li_block) in alloc_inode_block()
611 li->li_block = block; in alloc_inode_block()
718 struct logfs_inode *li = logfs_inode(inode); in logfs_read_direct() local
722 block = li->li_data[index]; in logfs_read_direct()
732 struct logfs_inode *li = logfs_inode(inode); in logfs_read_loop() local
733 u64 bix, bofs = li->li_data[INDIRECT_INDEX]; in logfs_read_loop()
742 if (bix >= maxbix(li->li_height)) in logfs_read_loop()
745 for (level = LEVEL(li->li_height); in logfs_read_loop()
779 struct logfs_inode *li = logfs_inode(inode); in logfs_exist_loop() local
780 u64 bofs = li->li_data[INDIRECT_INDEX]; in logfs_exist_loop()
787 if (bix >= maxbix(li->li_height)) in logfs_exist_loop()
790 for (level = LEVEL(li->li_height); level != 0; level = SUBLEVEL(level)) { in logfs_exist_loop()
812 struct logfs_inode *li = logfs_inode(inode); in logfs_exist_block() local
815 return !!li->li_data[bix]; in logfs_exist_block()
821 struct logfs_inode *li = logfs_inode(inode); in seek_holedata_direct() local
824 if (data ^ (li->li_data[bix] == 0)) in seek_holedata_direct()
831 struct logfs_inode *li = logfs_inode(inode); in seek_holedata_loop() local
833 u64 increment, bofs = li->li_data[INDIRECT_INDEX]; in seek_holedata_loop()
840 for (level = LEVEL(li->li_height); level != 0; level = SUBLEVEL(level)) { in seek_holedata_loop()
889 struct logfs_inode *li = logfs_inode(inode); in logfs_seek_hole() local
897 if (!li->li_data[INDIRECT_INDEX]) in logfs_seek_hole()
899 else if (li->li_data[INDIRECT_INDEX] & LOGFS_FULLY_POPULATED) in logfs_seek_hole()
900 bix = maxbix(li->li_height); in logfs_seek_hole()
901 else if (bix >= maxbix(li->li_height)) in logfs_seek_hole()
905 if (bix < maxbix(li->li_height)) in logfs_seek_hole()
910 WARN_ON_ONCE(bix == maxbix(li->li_height)); in logfs_seek_hole()
918 struct logfs_inode *li = logfs_inode(inode); in __logfs_seek_data() local
926 if (bix < maxbix(li->li_height)) { in __logfs_seek_data()
927 if (!li->li_data[INDIRECT_INDEX]) in __logfs_seek_data()
928 bix = maxbix(li->li_height); in __logfs_seek_data()
956 static int logfs_is_valid_direct(struct logfs_inode *li, u64 bix, u64 ofs) in logfs_is_valid_direct() argument
958 return pure_ofs(li->li_data[bix]) == ofs; in logfs_is_valid_direct()
964 struct logfs_inode *li = logfs_inode(inode); in __logfs_is_valid_loop() local
969 for (level = LEVEL(li->li_height); level != 0; level = SUBLEVEL(level)){ in __logfs_is_valid_loop()
992 struct logfs_inode *li = logfs_inode(inode); in logfs_is_valid_loop() local
993 u64 bofs = li->li_data[INDIRECT_INDEX]; in logfs_is_valid_loop()
998 if (bix >= maxbix(li->li_height)) in logfs_is_valid_loop()
1009 struct logfs_inode *li = logfs_inode(inode); in __logfs_is_valid_block() local
1015 return logfs_is_valid_direct(li, bix, ofs); in __logfs_is_valid_block()
1328 struct logfs_inode *li = logfs_inode(inode); in set_iused() local
1334 li->li_used_bytes += shadow->new_len - shadow->old_len; in set_iused()
1336 logfs_set_alias(inode->i_sb, li->li_block, INODE_USED_OFS); in set_iused()
1337 logfs_set_alias(inode->i_sb, li->li_block, INODE_SIZE_OFS); in set_iused()
1379 struct logfs_inode *li = logfs_inode(inode); in logfs_write_direct() local
1381 .ofs = li->li_data[page->index], in logfs_write_direct()
1392 li->li_data[page->index] = wc.ofs; in logfs_write_direct()
1393 logfs_set_alias(inode->i_sb, li->li_block, in logfs_write_direct()
1470 struct logfs_inode *li = logfs_inode(inode); in logfs_write_rec() local
1472 .ofs = li->li_data[INDIRECT_INDEX], in logfs_write_rec()
1479 if (li->li_height > (__force u8)target_level) in logfs_write_rec()
1481 LEVEL(li->li_height)); in logfs_write_rec()
1487 if (li->li_data[INDIRECT_INDEX] != wc.ofs) { in logfs_write_rec()
1488 li->li_data[INDIRECT_INDEX] = wc.ofs; in logfs_write_rec()
1489 logfs_set_alias(inode->i_sb, li->li_block, in logfs_write_rec()
1511 struct logfs_inode *li = logfs_inode(inode); in grow_inode() local
1519 BUG_ON(height > 5 || li->li_height > 5); in grow_inode()
1520 while (height > li->li_height || bix >= maxbix(li->li_height)) { in grow_inode()
1522 LEVEL(li->li_height + 1)); in grow_inode()
1527 block_set_pointer(page, 0, li->li_data[INDIRECT_INDEX]); in grow_inode()
1532 li->li_data[INDIRECT_INDEX] = wc.ofs; in grow_inode()
1534 li->li_height++; in grow_inode()
1535 logfs_set_alias(inode->i_sb, li->li_block, INODE_HEIGHT_OFS); in grow_inode()
1694 struct logfs_inode *li = logfs_inode(inode); in logfs_truncate_direct() local
1706 wc.ofs = li->li_data[e]; in logfs_truncate_direct()
1723 li->li_data[e] = wc.ofs; in logfs_truncate_direct()
1821 struct logfs_inode *li = logfs_inode(inode); in logfs_truncate_rec() local
1823 .ofs = li->li_data[INDIRECT_INDEX], in logfs_truncate_rec()
1833 page = logfs_get_write_page(inode, 0, LEVEL(li->li_height)); in logfs_truncate_rec()
1842 if (li->li_data[INDIRECT_INDEX] != wc.ofs) in logfs_truncate_rec()
1843 li->li_data[INDIRECT_INDEX] = wc.ofs; in logfs_truncate_rec()
1906 struct logfs_inode *li = logfs_inode(inode); in move_page_to_inode() local
1914 BUG_ON(li->li_block); in move_page_to_inode()
1917 li->li_block = block; in move_page_to_inode()
1929 struct logfs_inode *li = logfs_inode(inode); in move_inode_to_page() local
1930 struct logfs_block *block = li->li_block; in move_inode_to_page()
1948 li->li_block = NULL; in move_inode_to_page()
2171 struct logfs_inode *li = logfs_inode(inode); in logfs_evict_inode() local
2172 struct logfs_block *block = li->li_block; in logfs_evict_inode()
2176 if (!(li->li_flags & LOGFS_IF_ZOMBIE)) { in logfs_evict_inode()
2177 li->li_flags |= LOGFS_IF_ZOMBIE; in logfs_evict_inode()