Lines Matching refs:ipage
728 struct page *ipage;
740 ipage = logfs_get_page(inode, bix, level, rw_context);
741 if (!ipage)
744 ret = logfs_segment_read(inode, ipage, bofs, bix, level);
746 logfs_put_read_page(ipage);
750 bofs = block_get_pointer(ipage, get_bits(bix, SUBLEVEL(level)));
751 logfs_put_page(ipage, rw_context);
775 struct page *ipage;
783 ipage = logfs_get_read_page(inode, bix, level);
784 if (!ipage)
787 ret = logfs_segment_read(inode, ipage, bofs, bix, level);
789 logfs_put_read_page(ipage);
793 bofs = block_get_pointer(ipage, get_bits(bix, SUBLEVEL(level)));
794 logfs_put_read_page(ipage);
1413 struct page *ipage;
1418 ipage = logfs_get_write_page(inode, bix, level);
1419 if (!ipage)
1423 ret = logfs_segment_read(inode, ipage, this_wc->ofs, bix, level);
1426 } else if (!PageUptodate(ipage)) {
1428 logfs_read_empty(ipage);
1431 child_wc.ofs = block_get_pointer(ipage, child_no);
1442 alloc_indirect_block(inode, ipage, page_empty);
1443 block_set_pointer(ipage, child_no, child_wc.ofs);
1444 if (child_wc.ofs || logfs_block(ipage)->partial)
1448 if (!this_wc->ofs || ptr_change(this_wc->ofs, ipage))
1449 ret = logfs_write_i0(inode, ipage, this_wc);
1451 logfs_set_alias(inode->i_sb, logfs_block(ipage), child_no);
1453 logfs_put_write_page(ipage);
1750 static int __logfs_truncate_rec(struct inode *inode, struct page *ipage,
1760 logfs_unpack_raw_index(ipage->index, &bix, &level);
1761 err = logfs_segment_read(inode, ipage, this_wc->ofs, bix, level);
1771 child_wc.ofs = pure_ofs(block_get_pointer(ipage, e));
1788 alloc_indirect_block(inode, ipage, 0);
1789 block_set_pointer(ipage, e, child_wc.ofs);
1793 printk("ineffectual truncate (%lx, %lx, %llx)\n", inode->i_ino, ipage->index, size);
1798 if (logfs_block(ipage)->partial)
1801 return logfs_write_i0(inode, ipage, this_wc);