Lines Matching refs:cuip

36 	struct xfs_cui_log_item	*cuip)  in xfs_cui_item_free()  argument
38 if (cuip->cui_format.cui_nextents > XFS_CUI_MAX_FAST_EXTENTS) in xfs_cui_item_free()
39 kmem_free(cuip); in xfs_cui_item_free()
41 kmem_cache_free(xfs_cui_zone, cuip); in xfs_cui_item_free()
53 struct xfs_cui_log_item *cuip) in xfs_cui_release() argument
55 ASSERT(atomic_read(&cuip->cui_refcount) > 0); in xfs_cui_release()
56 if (atomic_dec_and_test(&cuip->cui_refcount)) { in xfs_cui_release()
57 xfs_trans_ail_delete(&cuip->cui_item, SHUTDOWN_LOG_IO_ERROR); in xfs_cui_release()
58 xfs_cui_item_free(cuip); in xfs_cui_release()
69 struct xfs_cui_log_item *cuip = CUI_ITEM(lip); in xfs_cui_item_size() local
72 *nbytes += xfs_cui_log_format_sizeof(cuip->cui_format.cui_nextents); in xfs_cui_item_size()
87 struct xfs_cui_log_item *cuip = CUI_ITEM(lip); in xfs_cui_item_format() local
90 ASSERT(atomic_read(&cuip->cui_next_extent) == in xfs_cui_item_format()
91 cuip->cui_format.cui_nextents); in xfs_cui_item_format()
93 cuip->cui_format.cui_type = XFS_LI_CUI; in xfs_cui_item_format()
94 cuip->cui_format.cui_size = 1; in xfs_cui_item_format()
96 xlog_copy_iovec(lv, &vecp, XLOG_REG_TYPE_CUI_FORMAT, &cuip->cui_format, in xfs_cui_item_format()
97 xfs_cui_log_format_sizeof(cuip->cui_format.cui_nextents)); in xfs_cui_item_format()
113 struct xfs_cui_log_item *cuip = CUI_ITEM(lip); in xfs_cui_item_unpin() local
115 xfs_cui_release(cuip); in xfs_cui_item_unpin()
139 struct xfs_cui_log_item *cuip; in xfs_cui_init() local
143 cuip = kmem_zalloc(xfs_cui_log_item_sizeof(nextents), in xfs_cui_init()
146 cuip = kmem_cache_zalloc(xfs_cui_zone, in xfs_cui_init()
149 xfs_log_item_init(mp, &cuip->cui_item, XFS_LI_CUI, &xfs_cui_item_ops); in xfs_cui_init()
150 cuip->cui_format.cui_nextents = nextents; in xfs_cui_init()
151 cuip->cui_format.cui_id = (uintptr_t)(void *)cuip; in xfs_cui_init()
152 atomic_set(&cuip->cui_next_extent, 0); in xfs_cui_init()
153 atomic_set(&cuip->cui_refcount, 2); in xfs_cui_init()
155 return cuip; in xfs_cui_init()
220 struct xfs_cui_log_item *cuip) in xfs_trans_get_cud() argument
227 cudp->cud_cuip = cuip; in xfs_trans_get_cud()
228 cudp->cud_format.cud_cui_id = cuip->cui_format.cui_id; in xfs_trans_get_cud()
308 struct xfs_cui_log_item *cuip, in xfs_refcount_update_log_item() argument
315 set_bit(XFS_LI_DIRTY, &cuip->cui_item.li_flags); in xfs_refcount_update_log_item()
322 next_extent = atomic_inc_return(&cuip->cui_next_extent) - 1; in xfs_refcount_update_log_item()
323 ASSERT(next_extent < cuip->cui_format.cui_nextents); in xfs_refcount_update_log_item()
324 ext = &cuip->cui_format.cui_extents[next_extent]; in xfs_refcount_update_log_item()
338 struct xfs_cui_log_item *cuip = xfs_cui_init(mp, count); in xfs_refcount_update_create_intent() local
343 xfs_trans_add_item(tp, &cuip->cui_item); in xfs_refcount_update_create_intent()
347 xfs_refcount_update_log_item(tp, cuip, refc); in xfs_refcount_update_create_intent()
348 return &cuip->cui_item; in xfs_refcount_update_create_intent()
430 struct xfs_cui_log_item *cuip = CUI_ITEM(lip); in xfs_cui_item_recover() local
451 for (i = 0; i < cuip->cui_format.cui_nextents; i++) { in xfs_cui_item_recover()
452 refc = &cuip->cui_format.cui_extents[i]; in xfs_cui_item_recover()
491 cudp = xfs_trans_get_cud(tp, cuip); in xfs_cui_item_recover()
493 for (i = 0; i < cuip->cui_format.cui_nextents; i++) { in xfs_cui_item_recover()
494 refc = &cuip->cui_format.cui_extents[i]; in xfs_cui_item_recover()
570 struct xfs_cui_log_item *cuip; in xfs_cui_item_relog() local
581 cuip = xfs_cui_init(tp->t_mountp, count); in xfs_cui_item_relog()
582 memcpy(cuip->cui_format.cui_extents, extp, count * sizeof(*extp)); in xfs_cui_item_relog()
583 atomic_set(&cuip->cui_next_extent, count); in xfs_cui_item_relog()
584 xfs_trans_add_item(tp, &cuip->cui_item); in xfs_cui_item_relog()
585 set_bit(XFS_LI_DIRTY, &cuip->cui_item.li_flags); in xfs_cui_item_relog()
586 return &cuip->cui_item; in xfs_cui_item_relog()
639 struct xfs_cui_log_item *cuip; in xlog_recover_cui_commit_pass2() local
644 cuip = xfs_cui_init(mp, cui_formatp->cui_nextents); in xlog_recover_cui_commit_pass2()
645 error = xfs_cui_copy_format(&item->ri_buf[0], &cuip->cui_format); in xlog_recover_cui_commit_pass2()
647 xfs_cui_item_free(cuip); in xlog_recover_cui_commit_pass2()
650 atomic_set(&cuip->cui_next_extent, cui_formatp->cui_nextents); in xlog_recover_cui_commit_pass2()
655 xfs_trans_ail_insert(log->l_ailp, &cuip->cui_item, lsn); in xlog_recover_cui_commit_pass2()
656 xfs_cui_release(cuip); in xlog_recover_cui_commit_pass2()