Lines Matching refs:imap

230 	struct xfs_bmbt_irec	*imap,  in xfs_bmap_trim_cow()  argument
235 !isnullstartblock(imap->br_startblock)) { in xfs_bmap_trim_cow()
241 return xfs_reflink_trim_around_shared(ip, imap, shared); in xfs_bmap_trim_cow()
311 struct xfs_bmbt_irec *imap, in xfs_find_trim_cow_extent() argument
316 xfs_fileoff_t offset_fsb = imap->br_startoff; in xfs_find_trim_cow_extent()
317 xfs_filblks_t count_fsb = imap->br_blockcount; in xfs_find_trim_cow_extent()
329 xfs_trim_extent(imap, imap->br_startoff, in xfs_find_trim_cow_extent()
330 cmap->br_startoff - imap->br_startoff); in xfs_find_trim_cow_extent()
331 return xfs_bmap_trim_cow(ip, imap, shared); in xfs_find_trim_cow_extent()
336 xfs_trim_extent(imap, cmap->br_startoff, cmap->br_blockcount); in xfs_find_trim_cow_extent()
349 struct xfs_bmbt_irec *imap, in xfs_reflink_convert_unwritten() argument
353 xfs_fileoff_t offset_fsb = imap->br_startoff; in xfs_reflink_convert_unwritten()
354 xfs_filblks_t count_fsb = imap->br_blockcount; in xfs_reflink_convert_unwritten()
382 struct xfs_bmbt_irec *imap, in xfs_reflink_fill_cow_hole() argument
396 resaligned = xfs_aligned_fsb_count(imap->br_startoff, in xfs_reflink_fill_cow_hole()
397 imap->br_blockcount, xfs_get_cowextsz_hint(ip)); in xfs_reflink_fill_cow_hole()
410 error = xfs_find_trim_cow_extent(ip, imap, cmap, shared, &found); in xfs_reflink_fill_cow_hole()
421 error = xfs_bmapi_write(tp, ip, imap->br_startoff, imap->br_blockcount, in xfs_reflink_fill_cow_hole()
433 return xfs_reflink_convert_unwritten(ip, imap, cmap, convert_now); in xfs_reflink_fill_cow_hole()
443 struct xfs_bmbt_irec *imap, in xfs_reflink_fill_delalloc() argument
466 error = xfs_find_trim_cow_extent(ip, imap, cmap, shared, in xfs_reflink_fill_delalloc()
494 } while (cmap->br_startoff + cmap->br_blockcount <= imap->br_startoff); in xfs_reflink_fill_delalloc()
496 return xfs_reflink_convert_unwritten(ip, imap, cmap, convert_now); in xfs_reflink_fill_delalloc()
507 struct xfs_bmbt_irec *imap, in xfs_reflink_allocate_cow() argument
522 error = xfs_find_trim_cow_extent(ip, imap, cmap, shared, &found); in xfs_reflink_allocate_cow()
528 return xfs_reflink_convert_unwritten(ip, imap, cmap, in xfs_reflink_allocate_cow()
535 if (cmap->br_startoff > imap->br_startoff) in xfs_reflink_allocate_cow()
536 return xfs_reflink_fill_cow_hole(ip, imap, cmap, shared, in xfs_reflink_allocate_cow()
545 return xfs_reflink_fill_delalloc(ip, imap, cmap, shared, in xfs_reflink_allocate_cow()
1339 struct xfs_bmbt_irec imap; in xfs_reflink_remap_blocks() local
1360 error = xfs_bmapi_read(src, srcoff, len, &imap, &nimaps, 0); in xfs_reflink_remap_blocks()
1371 ASSERT(nimaps == 1 && imap.br_startoff == srcoff); in xfs_reflink_remap_blocks()
1372 if (imap.br_startblock == DELAYSTARTBLOCK) { in xfs_reflink_remap_blocks()
1373 ASSERT(imap.br_startblock != DELAYSTARTBLOCK); in xfs_reflink_remap_blocks()
1378 trace_xfs_reflink_remap_extent_src(src, &imap); in xfs_reflink_remap_blocks()
1381 imap.br_startoff = destoff; in xfs_reflink_remap_blocks()
1382 error = xfs_reflink_remap_extent(dest, &imap, new_isize); in xfs_reflink_remap_blocks()
1392 srcoff += imap.br_blockcount; in xfs_reflink_remap_blocks()
1393 destoff += imap.br_blockcount; in xfs_reflink_remap_blocks()
1394 len -= imap.br_blockcount; in xfs_reflink_remap_blocks()
1395 remapped_len += imap.br_blockcount; in xfs_reflink_remap_blocks()