Lines Matching defs:wpc
200 struct iomap_writepage_ctx *wpc,
204 if (offset < wpc->iomap.offset ||
205 offset >= wpc->iomap.offset + wpc->iomap.length)
212 if (wpc->iomap.flags & IOMAP_F_SHARED)
222 if (XFS_WPC(wpc)->data_seq != READ_ONCE(ip->i_df.if_seq)) {
223 trace_xfs_wb_data_iomap_invalid(ip, &wpc->iomap,
224 XFS_WPC(wpc)->data_seq, XFS_DATA_FORK);
228 XFS_WPC(wpc)->cow_seq != READ_ONCE(ip->i_cowfp->if_seq)) {
229 trace_xfs_wb_cow_iomap_invalid(ip, &wpc->iomap,
230 XFS_WPC(wpc)->cow_seq, XFS_COW_FORK);
238 * extent that maps offset_fsb in wpc->iomap.
246 struct iomap_writepage_ctx *wpc,
255 seq = &XFS_WPC(wpc)->cow_seq;
257 seq = &XFS_WPC(wpc)->data_seq;
261 * and put the result into wpc->iomap. Allocate in a loop because it
267 &wpc->iomap, seq);
270 } while (wpc->iomap.offset + wpc->iomap.length <= offset);
277 struct iomap_writepage_ctx *wpc,
314 if (xfs_imap_valid(wpc, ip, offset))
337 XFS_WPC(wpc)->cow_seq = READ_ONCE(ip->i_cowfp->if_seq);
348 if (xfs_imap_valid(wpc, ip, offset)) {
360 XFS_WPC(wpc)->data_seq = READ_ONCE(ip->i_df.if_seq);
386 xfs_bmbt_to_iomap(ip, &wpc->iomap, &imap, 0, 0, XFS_WPC(wpc)->data_seq);
390 error = xfs_convert_blocks(wpc, ip, whichfork, offset);
413 if (cow_offset < wpc->iomap.offset + wpc->iomap.length)
414 wpc->iomap.length = cow_offset - wpc->iomap.offset;
417 ASSERT(wpc->iomap.offset <= offset);
418 ASSERT(wpc->iomap.offset + wpc->iomap.length > offset);
504 struct xfs_writepage_ctx wpc = { };
507 return iomap_writepages(mapping, wbc, &wpc.ctx, &xfs_writeback_ops);