Lines Matching refs:wpc
247 struct iomap_writepage_ctx *wpc,
251 if (offset < wpc->iomap.offset ||
252 offset >= wpc->iomap.offset + wpc->iomap.length)
259 if (wpc->iomap.flags & IOMAP_F_SHARED)
269 if (XFS_WPC(wpc)->data_seq != READ_ONCE(ip->i_df.if_seq))
272 XFS_WPC(wpc)->cow_seq != READ_ONCE(ip->i_cowfp->if_seq))
279 * extent that maps offset_fsb in wpc->iomap.
287 struct iomap_writepage_ctx *wpc,
296 seq = &XFS_WPC(wpc)->cow_seq;
298 seq = &XFS_WPC(wpc)->data_seq;
302 * and put the result into wpc->iomap. Allocate in a loop because it
308 &wpc->iomap, seq);
311 } while (wpc->iomap.offset + wpc->iomap.length <= offset);
318 struct iomap_writepage_ctx *wpc,
352 if (xfs_imap_valid(wpc, ip, offset))
376 XFS_WPC(wpc)->cow_seq = READ_ONCE(ip->i_cowfp->if_seq);
387 if (xfs_imap_valid(wpc, ip, offset)) {
399 XFS_WPC(wpc)->data_seq = READ_ONCE(ip->i_df.if_seq);
425 xfs_bmbt_to_iomap(ip, &wpc->iomap, &imap, 0);
429 error = xfs_convert_blocks(wpc, ip, whichfork, offset);
452 if (cow_offset < wpc->iomap.offset + wpc->iomap.length)
453 wpc->iomap.length = cow_offset - wpc->iomap.offset;
456 ASSERT(wpc->iomap.offset <= offset);
457 ASSERT(wpc->iomap.offset + wpc->iomap.length > offset);
539 struct xfs_writepage_ctx wpc = { };
547 return iomap_writepage(page, wbc, &wpc.ctx, &xfs_writeback_ops);
555 struct xfs_writepage_ctx wpc = { };
565 return iomap_writepages(mapping, wbc, &wpc.ctx, &xfs_writeback_ops);