Lines Matching defs:buip
41 struct xfs_bui_log_item *buip)
43 kmem_free(buip->bui_item.li_lv_shadow);
44 kmem_cache_free(xfs_bui_cache, buip);
56 struct xfs_bui_log_item *buip)
58 ASSERT(atomic_read(&buip->bui_refcount) > 0);
59 if (!atomic_dec_and_test(&buip->bui_refcount))
62 xfs_trans_ail_delete(&buip->bui_item, 0);
63 xfs_bui_item_free(buip);
73 struct xfs_bui_log_item *buip = BUI_ITEM(lip);
76 *nbytes += xfs_bui_log_format_sizeof(buip->bui_format.bui_nextents);
91 struct xfs_bui_log_item *buip = BUI_ITEM(lip);
94 ASSERT(atomic_read(&buip->bui_next_extent) ==
95 buip->bui_format.bui_nextents);
97 buip->bui_format.bui_type = XFS_LI_BUI;
98 buip->bui_format.bui_size = 1;
100 xlog_copy_iovec(lv, &vecp, XLOG_REG_TYPE_BUI_FORMAT, &buip->bui_format,
101 xfs_bui_log_format_sizeof(buip->bui_format.bui_nextents));
117 struct xfs_bui_log_item *buip = BUI_ITEM(lip);
119 xfs_bui_release(buip);
142 struct xfs_bui_log_item *buip;
144 buip = kmem_cache_zalloc(xfs_bui_cache, GFP_KERNEL | __GFP_NOFAIL);
146 xfs_log_item_init(mp, &buip->bui_item, XFS_LI_BUI, &xfs_bui_item_ops);
147 buip->bui_format.bui_nextents = XFS_BUI_MAX_FAST_EXTENTS;
148 buip->bui_format.bui_id = (uintptr_t)(void *)buip;
149 atomic_set(&buip->bui_next_extent, 0);
150 atomic_set(&buip->bui_refcount, 2);
152 return buip;
227 struct xfs_bui_log_item *buip)
234 budp->bud_buip = buip;
235 budp->bud_format.bud_bui_id = buip->bui_format.bui_id;
311 struct xfs_bui_log_item *buip,
318 set_bit(XFS_LI_DIRTY, &buip->bui_item.li_flags);
325 next_extent = atomic_inc_return(&buip->bui_next_extent) - 1;
326 ASSERT(next_extent < buip->bui_format.bui_nextents);
327 map = &buip->bui_format.bui_extents[next_extent];
344 struct xfs_bui_log_item *buip = xfs_bui_init(mp);
349 xfs_trans_add_item(tp, &buip->bui_item);
353 xfs_bmap_update_log_item(tp, buip, bi);
354 return &buip->bui_item;
453 struct xfs_bui_log_item *buip)
458 if (buip->bui_format.bui_nextents != XFS_BUI_MAX_FAST_EXTENTS)
461 map = &buip->bui_format.bui_extents[0];
494 struct xfs_bui_log_item *buip = BUI_ITEM(lip);
503 if (!xfs_bui_validate(mp, buip)) {
505 &buip->bui_format, sizeof(buip->bui_format));
509 map = &buip->bui_format.bui_extents[0];
525 budp = xfs_trans_get_bud(tp, buip);
597 struct xfs_bui_log_item *buip;
608 buip = xfs_bui_init(tp->t_mountp);
609 memcpy(buip->bui_format.bui_extents, map, count * sizeof(*map));
610 atomic_set(&buip->bui_next_extent, count);
611 xfs_trans_add_item(tp, &buip->bui_item);
612 set_bit(XFS_LI_DIRTY, &buip->bui_item.li_flags);
613 return &buip->bui_item;
656 struct xfs_bui_log_item *buip;
681 buip = xfs_bui_init(mp);
682 xfs_bui_copy_format(&buip->bui_format, bui_formatp);
683 atomic_set(&buip->bui_next_extent, bui_formatp->bui_nextents);
688 xfs_trans_ail_insert(log->l_ailp, &buip->bui_item, lsn);
689 xfs_bui_release(buip);