Lines Matching refs:bmap
230 * Finish an bmap update and log it to the BUD. Note that the
231 * transaction is marked dirty regardless of whether the bmap update
264 /* Sort bmap intents by inode. */
282 struct xfs_map_extent *bmap,
287 bmap->me_flags = 0;
291 bmap->me_flags = type;
297 bmap->me_flags |= XFS_BMAP_EXTENT_UNWRITTEN;
299 bmap->me_flags |= XFS_BMAP_EXTENT_ATTR_FORK;
302 /* Log bmap updates in the intent item. */
307 struct xfs_bmap_intent *bmap)
323 map->me_owner = bmap->bi_owner->i_ino;
324 map->me_startblock = bmap->bi_bmap.br_startblock;
325 map->me_startoff = bmap->bi_bmap.br_startoff;
326 map->me_len = bmap->bi_bmap.br_blockcount;
327 xfs_trans_set_bmap_flags(map, bmap->bi_type, bmap->bi_whichfork,
328 bmap->bi_bmap.br_state);
340 struct xfs_bmap_intent *bmap;
347 list_for_each_entry(bmap, items, bi_list)
348 xfs_bmap_update_log_item(tp, buip, bmap);
370 struct xfs_bmap_intent *bmap;
374 bmap = container_of(item, struct xfs_bmap_intent, bi_list);
375 count = bmap->bi_bmap.br_blockcount;
377 bmap->bi_type,
378 bmap->bi_owner, bmap->bi_whichfork,
379 bmap->bi_bmap.br_startoff,
380 bmap->bi_bmap.br_startblock,
382 bmap->bi_bmap.br_state);
384 ASSERT(bmap->bi_type == XFS_BMAP_UNMAP);
385 bmap->bi_bmap.br_blockcount = count;
388 kmem_free(bmap);
405 struct xfs_bmap_intent *bmap;
407 bmap = container_of(item, struct xfs_bmap_intent, bi_list);
408 kmem_free(bmap);
421 * Process a bmap update intent item that was recovered from the log.
434 struct xfs_map_extent *bmap;
452 bmap = &buip->bui_format.bui_extents[0];
454 XFS_FSB_TO_DADDR(mp, bmap->me_startblock));
456 XFS_INO_TO_FSB(mp, bmap->me_owner)));
457 state = (bmap->me_flags & XFS_BMAP_EXTENT_UNWRITTEN) ?
459 whichfork = (bmap->me_flags & XFS_BMAP_EXTENT_ATTR_FORK) ?
461 bui_type = bmap->me_flags & XFS_BMAP_EXTENT_TYPE_MASK;
470 bmap->me_len == 0 ||
473 bmap->me_len >= mp->m_sb.sb_agblocks ||
475 (bmap->me_flags & ~XFS_BMAP_EXTENT_FLAGS))
479 error = xfs_iget(mp, NULL, bmap->me_owner, 0, 0, &ip);
500 count = bmap->me_len;
502 whichfork, bmap->me_startoff, bmap->me_startblock,
509 irec.br_startblock = bmap->me_startblock;
511 irec.br_startoff = bmap->me_startoff;
606 * This routine is called to create an in-core extent bmap update