Lines Matching refs:imap

285 	struct xfs_bmbt_irec	*imap,  in xfs_map_blocks()  argument
318 imap, &nimaps, bmapi_flags); in xfs_map_blocks()
325 (!nimaps || isnullstartblock(imap->br_startblock))) { in xfs_map_blocks()
326 error = xfs_iomap_write_allocate(ip, offset, imap); in xfs_map_blocks()
328 trace_xfs_map_blocks_alloc(ip, offset, count, type, imap); in xfs_map_blocks()
335 ASSERT(imap->br_startblock != HOLESTARTBLOCK); in xfs_map_blocks()
336 ASSERT(imap->br_startblock != DELAYSTARTBLOCK); in xfs_map_blocks()
340 trace_xfs_map_blocks_found(ip, offset, count, type, imap); in xfs_map_blocks()
347 struct xfs_bmbt_irec *imap, in xfs_imap_valid() argument
352 return offset >= imap->br_startoff && in xfs_imap_valid()
353 offset < imap->br_startoff + imap->br_blockcount; in xfs_imap_valid()
602 struct xfs_bmbt_irec *imap, in xfs_map_buffer() argument
607 xfs_off_t iomap_offset = XFS_FSB_TO_B(m, imap->br_startoff); in xfs_map_buffer()
608 xfs_daddr_t iomap_bn = xfs_fsb_to_db(XFS_I(inode), imap->br_startblock); in xfs_map_buffer()
610 ASSERT(imap->br_startblock != HOLESTARTBLOCK); in xfs_map_buffer()
611 ASSERT(imap->br_startblock != DELAYSTARTBLOCK); in xfs_map_buffer()
626 struct xfs_bmbt_irec *imap, in xfs_map_at_offset() argument
629 ASSERT(imap->br_startblock != HOLESTARTBLOCK); in xfs_map_at_offset()
630 ASSERT(imap->br_startblock != DELAYSTARTBLOCK); in xfs_map_at_offset()
632 xfs_map_buffer(inode, bh, imap, offset); in xfs_map_at_offset()
692 struct xfs_bmbt_irec *imap, in xfs_convert_page() argument
748 if (!xfs_imap_valid(inode, imap, end_offset)) in xfs_convert_page()
790 ASSERT(xfs_imap_valid(inode, imap, offset)); in xfs_convert_page()
794 xfs_map_at_offset(inode, bh, imap, offset); in xfs_convert_page()
831 struct xfs_bmbt_irec *imap, in xfs_cluster_write() argument
848 imap, ioendp, wbc); in xfs_cluster_write()
949 struct xfs_bmbt_irec imap; in xfs_vm_writepage() local
1109 imap_valid = xfs_imap_valid(inode, &imap, offset); in xfs_vm_writepage()
1120 err = xfs_map_blocks(inode, offset, &imap, type, in xfs_vm_writepage()
1124 imap_valid = xfs_imap_valid(inode, &imap, offset); in xfs_vm_writepage()
1129 xfs_map_at_offset(inode, bh, &imap, offset); in xfs_vm_writepage()
1159 end_index = imap.br_startoff + imap.br_blockcount; in xfs_vm_writepage()
1171 xfs_cluster_write(inode, page->index + 1, &imap, &ioend, in xfs_vm_writepage()
1281 struct xfs_bmbt_irec *imap, in xfs_map_direct() argument
1289 if (ISUNWRITTEN(imap)) in xfs_map_direct()
1294 trace_xfs_gbmap_direct(XFS_I(inode), offset, size, type, imap); in xfs_map_direct()
1299 imap); in xfs_map_direct()
1315 imap); in xfs_map_direct()
1327 imap); in xfs_map_direct()
1330 imap); in xfs_map_direct()
1350 struct xfs_bmbt_irec *imap, in xfs_map_trim_size() argument
1356 mapping_size = imap->br_startoff + imap->br_blockcount - iblock; in xfs_map_trim_size()
1388 struct xfs_bmbt_irec imap; in __xfs_get_blocks() local
1425 &imap, &nimaps, XFS_BMAPI_ENTIRE); in __xfs_get_blocks()
1432 (imap.br_startblock == HOLESTARTBLOCK || in __xfs_get_blocks()
1433 imap.br_startblock == DELAYSTARTBLOCK) || in __xfs_get_blocks()
1434 (IS_DAX(inode) && ISUNWRITTEN(&imap)))) { in __xfs_get_blocks()
1444 &imap, nimaps); in __xfs_get_blocks()
1458 if (nimaps && imap.br_startblock == HOLESTARTBLOCK) in __xfs_get_blocks()
1460 error = xfs_iomap_write_delay(ip, offset, size, &imap); in __xfs_get_blocks()
1467 ISUNWRITTEN(&imap) ? XFS_IO_UNWRITTEN in __xfs_get_blocks()
1468 : XFS_IO_DELALLOC, &imap); in __xfs_get_blocks()
1471 ISUNWRITTEN(&imap) ? XFS_IO_UNWRITTEN in __xfs_get_blocks()
1472 : XFS_IO_OVERWRITE, &imap); in __xfs_get_blocks()
1480 ASSERT(!ISUNWRITTEN(&imap)); in __xfs_get_blocks()
1488 &imap, offset, size); in __xfs_get_blocks()
1494 if (imap.br_startblock != HOLESTARTBLOCK && in __xfs_get_blocks()
1495 imap.br_startblock != DELAYSTARTBLOCK && in __xfs_get_blocks()
1496 (create || !ISUNWRITTEN(&imap))) { in __xfs_get_blocks()
1497 xfs_map_buffer(inode, bh_result, &imap, offset); in __xfs_get_blocks()
1498 if (ISUNWRITTEN(&imap)) in __xfs_get_blocks()
1502 xfs_map_direct(inode, bh_result, &imap, offset, in __xfs_get_blocks()
1524 (new || ISUNWRITTEN(&imap)))) in __xfs_get_blocks()
1527 if (imap.br_startblock == DELAYSTARTBLOCK) { in __xfs_get_blocks()