Lines Matching refs:efip

40 	struct xfs_efi_log_item	*efip)  in xfs_efi_item_free()  argument
42 kmem_free(efip->efi_item.li_lv_shadow); in xfs_efi_item_free()
43 if (efip->efi_format.efi_nextents > XFS_EFI_MAX_FAST_EXTENTS) in xfs_efi_item_free()
44 kmem_free(efip); in xfs_efi_item_free()
46 kmem_cache_free(xfs_efi_zone, efip); in xfs_efi_item_free()
58 struct xfs_efi_log_item *efip) in xfs_efi_release() argument
60 ASSERT(atomic_read(&efip->efi_refcount) > 0); in xfs_efi_release()
61 if (atomic_dec_and_test(&efip->efi_refcount)) { in xfs_efi_release()
62 xfs_trans_ail_delete(&efip->efi_item, SHUTDOWN_LOG_IO_ERROR); in xfs_efi_release()
63 xfs_efi_item_free(efip); in xfs_efi_release()
74 struct xfs_efi_log_item *efip) in xfs_efi_item_sizeof() argument
77 (efip->efi_format.efi_nextents - 1) * sizeof(xfs_extent_t); in xfs_efi_item_sizeof()
102 struct xfs_efi_log_item *efip = EFI_ITEM(lip); in xfs_efi_item_format() local
105 ASSERT(atomic_read(&efip->efi_next_extent) == in xfs_efi_item_format()
106 efip->efi_format.efi_nextents); in xfs_efi_item_format()
108 efip->efi_format.efi_type = XFS_LI_EFI; in xfs_efi_item_format()
109 efip->efi_format.efi_size = 1; in xfs_efi_item_format()
112 &efip->efi_format, in xfs_efi_item_format()
113 xfs_efi_item_sizeof(efip)); in xfs_efi_item_format()
130 struct xfs_efi_log_item *efip = EFI_ITEM(lip); in xfs_efi_item_unpin() local
131 xfs_efi_release(efip); in xfs_efi_item_unpin()
155 struct xfs_efi_log_item *efip; in xfs_efi_init() local
162 efip = kmem_zalloc(size, 0); in xfs_efi_init()
164 efip = kmem_cache_zalloc(xfs_efi_zone, in xfs_efi_init()
168 xfs_log_item_init(mp, &efip->efi_item, XFS_LI_EFI, &xfs_efi_item_ops); in xfs_efi_init()
169 efip->efi_format.efi_nextents = nextents; in xfs_efi_init()
170 efip->efi_format.efi_id = (uintptr_t)(void *)efip; in xfs_efi_init()
171 atomic_set(&efip->efi_next_extent, 0); in xfs_efi_init()
172 atomic_set(&efip->efi_refcount, 2); in xfs_efi_init()
174 return efip; in xfs_efi_init()
324 struct xfs_efi_log_item *efip, in xfs_trans_get_efd() argument
342 efdp->efd_efip = efip; in xfs_trans_get_efd()
344 efdp->efd_format.efd_efi_id = efip->efi_format.efi_id; in xfs_trans_get_efd()
417 struct xfs_efi_log_item *efip, in xfs_extent_free_log_item() argument
424 set_bit(XFS_LI_DIRTY, &efip->efi_item.li_flags); in xfs_extent_free_log_item()
431 next_extent = atomic_inc_return(&efip->efi_next_extent) - 1; in xfs_extent_free_log_item()
432 ASSERT(next_extent < efip->efi_format.efi_nextents); in xfs_extent_free_log_item()
433 extp = &efip->efi_format.efi_extents[next_extent]; in xfs_extent_free_log_item()
446 struct xfs_efi_log_item *efip = xfs_efi_init(mp, count); in xfs_extent_free_create_intent() local
451 xfs_trans_add_item(tp, &efip->efi_item); in xfs_extent_free_create_intent()
455 xfs_extent_free_log_item(tp, efip, free); in xfs_extent_free_create_intent()
456 return &efip->efi_item; in xfs_extent_free_create_intent()
590 struct xfs_efi_log_item *efip = EFI_ITEM(lip); in xfs_efi_item_recover() local
604 for (i = 0; i < efip->efi_format.efi_nextents; i++) { in xfs_efi_item_recover()
605 extp = &efip->efi_format.efi_extents[i]; in xfs_efi_item_recover()
618 efdp = xfs_trans_get_efd(tp, efip, efip->efi_format.efi_nextents); in xfs_efi_item_recover()
620 for (i = 0; i < efip->efi_format.efi_nextents; i++) { in xfs_efi_item_recover()
621 extp = &efip->efi_format.efi_extents[i]; in xfs_efi_item_recover()
652 struct xfs_efi_log_item *efip; in xfs_efi_item_relog() local
665 efip = xfs_efi_init(tp->t_mountp, count); in xfs_efi_item_relog()
666 memcpy(efip->efi_format.efi_extents, extp, count * sizeof(*extp)); in xfs_efi_item_relog()
667 atomic_set(&efip->efi_next_extent, count); in xfs_efi_item_relog()
668 xfs_trans_add_item(tp, &efip->efi_item); in xfs_efi_item_relog()
669 set_bit(XFS_LI_DIRTY, &efip->efi_item.li_flags); in xfs_efi_item_relog()
670 return &efip->efi_item; in xfs_efi_item_relog()
698 struct xfs_efi_log_item *efip; in xlog_recover_efi_commit_pass2() local
704 efip = xfs_efi_init(mp, efi_formatp->efi_nextents); in xlog_recover_efi_commit_pass2()
705 error = xfs_efi_copy_format(&item->ri_buf[0], &efip->efi_format); in xlog_recover_efi_commit_pass2()
707 xfs_efi_item_free(efip); in xlog_recover_efi_commit_pass2()
710 atomic_set(&efip->efi_next_extent, efi_formatp->efi_nextents); in xlog_recover_efi_commit_pass2()
715 xfs_trans_ail_insert(log->l_ailp, &efip->efi_item, lsn); in xlog_recover_efi_commit_pass2()
716 xfs_efi_release(efip); in xlog_recover_efi_commit_pass2()