Lines Matching refs:dfp

192 	struct xfs_defer_pending	*dfp,  in xfs_defer_create_intent()  argument
195 const struct xfs_defer_op_type *ops = defer_op_types[dfp->dfp_type]; in xfs_defer_create_intent()
197 if (!dfp->dfp_intent) in xfs_defer_create_intent()
198 dfp->dfp_intent = ops->create_intent(tp, &dfp->dfp_work, in xfs_defer_create_intent()
199 dfp->dfp_count, sort); in xfs_defer_create_intent()
211 struct xfs_defer_pending *dfp; in xfs_defer_create_intents() local
213 list_for_each_entry(dfp, &tp->t_dfops, dfp_list) { in xfs_defer_create_intents()
214 trace_xfs_defer_create_intent(tp->t_mountp, dfp); in xfs_defer_create_intents()
215 xfs_defer_create_intent(tp, dfp, true); in xfs_defer_create_intents()
225 struct xfs_defer_pending *dfp; in xfs_defer_trans_abort() local
231 list_for_each_entry(dfp, dop_pending, dfp_list) { in xfs_defer_trans_abort()
232 ops = defer_op_types[dfp->dfp_type]; in xfs_defer_trans_abort()
233 trace_xfs_defer_pending_abort(tp->t_mountp, dfp); in xfs_defer_trans_abort()
234 if (dfp->dfp_intent && !dfp->dfp_done) { in xfs_defer_trans_abort()
235 ops->abort_intent(dfp->dfp_intent); in xfs_defer_trans_abort()
236 dfp->dfp_intent = NULL; in xfs_defer_trans_abort()
354 struct xfs_defer_pending *dfp; in xfs_defer_cancel_list() local
364 list_for_each_entry_safe(dfp, pli, dop_list, dfp_list) { in xfs_defer_cancel_list()
365 ops = defer_op_types[dfp->dfp_type]; in xfs_defer_cancel_list()
366 trace_xfs_defer_cancel_list(mp, dfp); in xfs_defer_cancel_list()
367 list_del(&dfp->dfp_list); in xfs_defer_cancel_list()
368 list_for_each_safe(pwi, n, &dfp->dfp_work) { in xfs_defer_cancel_list()
370 dfp->dfp_count--; in xfs_defer_cancel_list()
373 ASSERT(dfp->dfp_count == 0); in xfs_defer_cancel_list()
374 kmem_cache_free(xfs_defer_pending_cache, dfp); in xfs_defer_cancel_list()
389 struct xfs_defer_pending *dfp; in xfs_defer_relog() local
395 list_for_each_entry(dfp, dfops, dfp_list) { in xfs_defer_relog()
403 if (dfp->dfp_intent == NULL || in xfs_defer_relog()
404 xfs_log_item_in_current_chkpt(dfp->dfp_intent)) in xfs_defer_relog()
417 if (XFS_LSN_CMP(dfp->dfp_intent->li_lsn, threshold_lsn) >= 0) in xfs_defer_relog()
420 trace_xfs_defer_relog_intent((*tpp)->t_mountp, dfp); in xfs_defer_relog()
422 dfp->dfp_intent = xfs_trans_item_relog(dfp->dfp_intent, *tpp); in xfs_defer_relog()
437 struct xfs_defer_pending *dfp) in xfs_defer_finish_one() argument
439 const struct xfs_defer_op_type *ops = defer_op_types[dfp->dfp_type]; in xfs_defer_finish_one()
444 trace_xfs_defer_pending_finish(tp->t_mountp, dfp); in xfs_defer_finish_one()
446 dfp->dfp_done = ops->create_done(tp, dfp->dfp_intent, dfp->dfp_count); in xfs_defer_finish_one()
447 list_for_each_safe(li, n, &dfp->dfp_work) { in xfs_defer_finish_one()
449 dfp->dfp_count--; in xfs_defer_finish_one()
450 error = ops->finish_item(tp, dfp->dfp_done, li, &state); in xfs_defer_finish_one()
458 list_add(li, &dfp->dfp_work); in xfs_defer_finish_one()
459 dfp->dfp_count++; in xfs_defer_finish_one()
460 dfp->dfp_done = NULL; in xfs_defer_finish_one()
461 dfp->dfp_intent = NULL; in xfs_defer_finish_one()
462 xfs_defer_create_intent(tp, dfp, false); in xfs_defer_finish_one()
470 list_del(&dfp->dfp_list); in xfs_defer_finish_one()
471 kmem_cache_free(xfs_defer_pending_cache, dfp); in xfs_defer_finish_one()
490 struct xfs_defer_pending *dfp; in xfs_defer_finish_noroll() local
521 dfp = list_first_entry(&dop_pending, struct xfs_defer_pending, in xfs_defer_finish_noroll()
523 error = xfs_defer_finish_one(*tp, dfp); in xfs_defer_finish_noroll()
585 struct xfs_defer_pending *dfp = NULL; in xfs_defer_add() local
597 dfp = list_last_entry(&tp->t_dfops, in xfs_defer_add()
599 ops = defer_op_types[dfp->dfp_type]; in xfs_defer_add()
600 if (dfp->dfp_type != type || in xfs_defer_add()
601 (ops->max_items && dfp->dfp_count >= ops->max_items)) in xfs_defer_add()
602 dfp = NULL; in xfs_defer_add()
604 if (!dfp) { in xfs_defer_add()
605 dfp = kmem_cache_zalloc(xfs_defer_pending_cache, in xfs_defer_add()
607 dfp->dfp_type = type; in xfs_defer_add()
608 dfp->dfp_intent = NULL; in xfs_defer_add()
609 dfp->dfp_done = NULL; in xfs_defer_add()
610 dfp->dfp_count = 0; in xfs_defer_add()
611 INIT_LIST_HEAD(&dfp->dfp_work); in xfs_defer_add()
612 list_add_tail(&dfp->dfp_list, &tp->t_dfops); in xfs_defer_add()
615 list_add_tail(li, &dfp->dfp_work); in xfs_defer_add()
616 dfp->dfp_count++; in xfs_defer_add()