Lines Matching refs:iop

54 	struct iomap_page *iop = to_iomap_page(page);
57 if (iop || nr_blocks <= 1)
58 return iop;
60 iop = kzalloc(struct_size(iop, uptodate, BITS_TO_LONGS(nr_blocks)),
62 spin_lock_init(&iop->uptodate_lock);
64 bitmap_fill(iop->uptodate, nr_blocks);
65 attach_page_private(page, iop);
66 return iop;
72 struct iomap_page *iop = detach_page_private(page);
75 if (!iop)
77 WARN_ON_ONCE(atomic_read(&iop->read_bytes_pending));
78 WARN_ON_ONCE(atomic_read(&iop->write_bytes_pending));
79 WARN_ON_ONCE(bitmap_full(iop->uptodate, nr_blocks) !=
81 kfree(iop);
88 iomap_adjust_read_range(struct inode *inode, struct iomap_page *iop,
105 if (iop) {
110 if (!test_bit(i, iop->uptodate))
120 if (test_bit(i, iop->uptodate)) {
147 struct iomap_page *iop = to_iomap_page(page);
153 spin_lock_irqsave(&iop->uptodate_lock, flags);
154 bitmap_set(iop->uptodate, first, last - first + 1);
155 if (bitmap_full(iop->uptodate, i_blocks_per_page(inode, page)))
157 spin_unlock_irqrestore(&iop->uptodate_lock, flags);
176 struct iomap_page *iop = to_iomap_page(page);
185 if (!iop || atomic_sub_and_test(bvec->bv_len, &iop->read_bytes_pending))
242 struct iomap_page *iop = iomap_page_create(inode, page);
255 iomap_adjust_read_range(inode, iop, &pos, length, &poff, &plen);
266 if (iop)
267 atomic_add(plen, &iop->read_bytes_pending);
436 struct iomap_page *iop = to_iomap_page(page);
448 if (iop) {
450 if (!test_bit(i, iop->uptodate))
554 struct iomap_page *iop = iomap_page_create(inode, page);
565 iomap_adjust_read_range(inode, iop, &block_start,
1045 struct iomap_page *iop = to_iomap_page(page);
1052 WARN_ON_ONCE(i_blocks_per_page(inode, page) > 1 && !iop);
1053 WARN_ON_ONCE(iop && atomic_read(&iop->write_bytes_pending) <= 0);
1055 if (!iop || atomic_sub_and_test(len, &iop->write_bytes_pending))
1291 struct iomap_page *iop, struct iomap_writepage_ctx *wpc,
1307 if (iop)
1308 atomic_add(len, &iop->write_bytes_pending);
1343 struct iomap_page *iop = to_iomap_page(page);
1350 WARN_ON_ONCE(i_blocks_per_page(inode, page) > 1 && !iop);
1351 WARN_ON_ONCE(iop && atomic_read(&iop->write_bytes_pending) != 0);
1361 if (iop && !test_bit(i, iop->uptodate))
1371 iomap_add_to_ioend(inode, file_offset, page, iop, wpc, wbc,