Lines Matching refs:wpc

200 	struct iomap_writepage_ctx	*wpc,  in xfs_imap_valid()  argument
204 if (offset < wpc->iomap.offset || in xfs_imap_valid()
205 offset >= wpc->iomap.offset + wpc->iomap.length) in xfs_imap_valid()
212 if (wpc->iomap.flags & IOMAP_F_SHARED) in xfs_imap_valid()
222 if (XFS_WPC(wpc)->data_seq != READ_ONCE(ip->i_df.if_seq)) { in xfs_imap_valid()
223 trace_xfs_wb_data_iomap_invalid(ip, &wpc->iomap, in xfs_imap_valid()
224 XFS_WPC(wpc)->data_seq, XFS_DATA_FORK); in xfs_imap_valid()
228 XFS_WPC(wpc)->cow_seq != READ_ONCE(ip->i_cowfp->if_seq)) { in xfs_imap_valid()
229 trace_xfs_wb_cow_iomap_invalid(ip, &wpc->iomap, in xfs_imap_valid()
230 XFS_WPC(wpc)->cow_seq, XFS_COW_FORK); in xfs_imap_valid()
246 struct iomap_writepage_ctx *wpc, in xfs_convert_blocks() argument
255 seq = &XFS_WPC(wpc)->cow_seq; in xfs_convert_blocks()
257 seq = &XFS_WPC(wpc)->data_seq; in xfs_convert_blocks()
267 &wpc->iomap, seq); in xfs_convert_blocks()
270 } while (wpc->iomap.offset + wpc->iomap.length <= offset); in xfs_convert_blocks()
277 struct iomap_writepage_ctx *wpc, in xfs_map_blocks() argument
313 if (xfs_imap_valid(wpc, ip, offset)) in xfs_map_blocks()
336 XFS_WPC(wpc)->cow_seq = READ_ONCE(ip->i_cowfp->if_seq); in xfs_map_blocks()
347 if (xfs_imap_valid(wpc, ip, offset)) { in xfs_map_blocks()
359 XFS_WPC(wpc)->data_seq = READ_ONCE(ip->i_df.if_seq); in xfs_map_blocks()
385 xfs_bmbt_to_iomap(ip, &wpc->iomap, &imap, 0, 0, XFS_WPC(wpc)->data_seq); in xfs_map_blocks()
389 error = xfs_convert_blocks(wpc, ip, whichfork, offset); in xfs_map_blocks()
412 if (cow_offset < wpc->iomap.offset + wpc->iomap.length) in xfs_map_blocks()
413 wpc->iomap.length = cow_offset - wpc->iomap.offset; in xfs_map_blocks()
416 ASSERT(wpc->iomap.offset <= offset); in xfs_map_blocks()
417 ASSERT(wpc->iomap.offset + wpc->iomap.length > offset); in xfs_map_blocks()
503 struct xfs_writepage_ctx wpc = { }; in xfs_vm_writepages() local
513 return iomap_writepages(mapping, wbc, &wpc.ctx, &xfs_writeback_ops); in xfs_vm_writepages()