Lines Matching refs:iop
111 struct iomap_page *iop = to_iomap_page(page); in iomap_page_create() local
113 if (iop || i_blocksize(inode) == PAGE_SIZE) in iomap_page_create()
114 return iop; in iomap_page_create()
116 iop = kmalloc(sizeof(*iop), GFP_NOFS | __GFP_NOFAIL); in iomap_page_create()
117 atomic_set(&iop->read_count, 0); in iomap_page_create()
118 atomic_set(&iop->write_count, 0); in iomap_page_create()
119 bitmap_zero(iop->uptodate, PAGE_SIZE / SECTOR_SIZE); in iomap_page_create()
120 set_page_private(page, (unsigned long)iop); in iomap_page_create()
122 return iop; in iomap_page_create()
128 struct iomap_page *iop = to_iomap_page(page); in iomap_page_release() local
130 if (!iop) in iomap_page_release()
132 WARN_ON_ONCE(atomic_read(&iop->read_count)); in iomap_page_release()
133 WARN_ON_ONCE(atomic_read(&iop->write_count)); in iomap_page_release()
136 kfree(iop); in iomap_page_release()
143 iomap_adjust_read_range(struct inode *inode, struct iomap_page *iop, in iomap_adjust_read_range() argument
159 if (iop) { in iomap_adjust_read_range()
164 if (!test_bit(i, iop->uptodate)) in iomap_adjust_read_range()
174 if (test_bit(i, iop->uptodate)) { in iomap_adjust_read_range()
197 struct iomap_page *iop = to_iomap_page(page); in iomap_set_range_uptodate() local
204 if (iop) { in iomap_set_range_uptodate()
207 set_bit(i, iop->uptodate); in iomap_set_range_uptodate()
208 else if (!test_bit(i, iop->uptodate)) in iomap_set_range_uptodate()
218 iomap_read_finish(struct iomap_page *iop, struct page *page) in iomap_read_finish() argument
220 if (!iop || atomic_dec_and_test(&iop->read_count)) in iomap_read_finish()
228 struct iomap_page *iop = to_iomap_page(page); in iomap_read_page_end_io() local
237 iomap_read_finish(iop, page); in iomap_read_page_end_io()
286 struct iomap_page *iop = iomap_page_create(inode, page); in iomap_readpage_actor() local
299 iomap_adjust_read_range(inode, iop, &pos, length, &poff, &plen); in iomap_readpage_actor()
326 if (iop) in iomap_readpage_actor()
327 atomic_inc(&iop->read_count); in iomap_readpage_actor()
495 struct iomap_page *iop = to_iomap_page(page); in iomap_is_partially_uptodate() local
501 if (iop) { in iomap_is_partially_uptodate()
503 if (!test_bit(i, iop->uptodate)) in iomap_is_partially_uptodate()
608 struct iomap_page *iop = iomap_page_create(inode, page); in __iomap_write_begin() local
619 iomap_adjust_read_range(inode, iop, &block_start, in __iomap_write_begin()