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