Lines Matching refs:dfc

633 	struct xfs_defer_capture	*dfc;  in xfs_defer_ops_capture()  local
639 dfc = kmem_zalloc(sizeof(*dfc), KM_NOFS); in xfs_defer_ops_capture()
640 INIT_LIST_HEAD(&dfc->dfc_list); in xfs_defer_ops_capture()
641 INIT_LIST_HEAD(&dfc->dfc_dfops); in xfs_defer_ops_capture()
646 list_splice_init(&tp->t_dfops, &dfc->dfc_dfops); in xfs_defer_ops_capture()
647 dfc->dfc_tpflags = tp->t_flags & XFS_TRANS_LOWMODE; in xfs_defer_ops_capture()
651 dfc->dfc_blkres = tp->t_blk_res - tp->t_blk_res_used; in xfs_defer_ops_capture()
652 dfc->dfc_rtxres = tp->t_rtx_res - tp->t_rtx_res_used; in xfs_defer_ops_capture()
655 dfc->dfc_logres = tp->t_log_res; in xfs_defer_ops_capture()
663 dfc->dfc_capture_ip = capture_ip; in xfs_defer_ops_capture()
666 return dfc; in xfs_defer_ops_capture()
673 struct xfs_defer_capture *dfc) in xfs_defer_ops_release() argument
675 xfs_defer_cancel_list(mp, &dfc->dfc_dfops); in xfs_defer_ops_release()
676 if (dfc->dfc_capture_ip) in xfs_defer_ops_release()
677 xfs_irele(dfc->dfc_capture_ip); in xfs_defer_ops_release()
678 kmem_free(dfc); in xfs_defer_ops_release()
696 struct xfs_defer_capture *dfc; in xfs_defer_ops_capture_and_commit() local
702 dfc = xfs_defer_ops_capture(tp, capture_ip); in xfs_defer_ops_capture_and_commit()
703 if (!dfc) in xfs_defer_ops_capture_and_commit()
709 xfs_defer_ops_release(mp, dfc); in xfs_defer_ops_capture_and_commit()
713 list_add_tail(&dfc->dfc_list, capture_list); in xfs_defer_ops_capture_and_commit()
725 struct xfs_defer_capture *dfc, in xfs_defer_ops_continue() argument
733 if (dfc->dfc_capture_ip) { in xfs_defer_ops_continue()
734 xfs_ilock(dfc->dfc_capture_ip, XFS_ILOCK_EXCL); in xfs_defer_ops_continue()
735 xfs_trans_ijoin(tp, dfc->dfc_capture_ip, 0); in xfs_defer_ops_continue()
737 *captured_ipp = dfc->dfc_capture_ip; in xfs_defer_ops_continue()
740 list_splice_init(&dfc->dfc_dfops, &tp->t_dfops); in xfs_defer_ops_continue()
741 tp->t_flags |= dfc->dfc_tpflags; in xfs_defer_ops_continue()
743 kmem_free(dfc); in xfs_defer_ops_continue()