Lines Matching full:dfp
186 struct xfs_defer_pending *dfp, in xfs_defer_create_intent() argument
189 const struct xfs_defer_op_type *ops = defer_op_types[dfp->dfp_type]; in xfs_defer_create_intent()
191 if (!dfp->dfp_intent) in xfs_defer_create_intent()
192 dfp->dfp_intent = ops->create_intent(tp, &dfp->dfp_work, in xfs_defer_create_intent()
193 dfp->dfp_count, sort); in xfs_defer_create_intent()
205 struct xfs_defer_pending *dfp; in xfs_defer_create_intents() local
207 list_for_each_entry(dfp, &tp->t_dfops, dfp_list) { in xfs_defer_create_intents()
208 trace_xfs_defer_create_intent(tp->t_mountp, dfp); in xfs_defer_create_intents()
209 xfs_defer_create_intent(tp, dfp, true); in xfs_defer_create_intents()
219 struct xfs_defer_pending *dfp; in xfs_defer_trans_abort() local
225 list_for_each_entry(dfp, dop_pending, dfp_list) { in xfs_defer_trans_abort()
226 ops = defer_op_types[dfp->dfp_type]; in xfs_defer_trans_abort()
227 trace_xfs_defer_pending_abort(tp->t_mountp, dfp); in xfs_defer_trans_abort()
228 if (dfp->dfp_intent && !dfp->dfp_done) { in xfs_defer_trans_abort()
229 ops->abort_intent(dfp->dfp_intent); in xfs_defer_trans_abort()
230 dfp->dfp_intent = NULL; in xfs_defer_trans_abort()
325 struct xfs_defer_pending *dfp; in xfs_defer_cancel_list() local
335 list_for_each_entry_safe(dfp, pli, dop_list, dfp_list) { in xfs_defer_cancel_list()
336 ops = defer_op_types[dfp->dfp_type]; in xfs_defer_cancel_list()
337 trace_xfs_defer_cancel_list(mp, dfp); in xfs_defer_cancel_list()
338 list_del(&dfp->dfp_list); in xfs_defer_cancel_list()
339 list_for_each_safe(pwi, n, &dfp->dfp_work) { in xfs_defer_cancel_list()
341 dfp->dfp_count--; in xfs_defer_cancel_list()
344 ASSERT(dfp->dfp_count == 0); in xfs_defer_cancel_list()
345 kmem_free(dfp); in xfs_defer_cancel_list()
360 struct xfs_defer_pending *dfp; in xfs_defer_relog() local
366 list_for_each_entry(dfp, dfops, dfp_list) { in xfs_defer_relog()
374 if (dfp->dfp_intent == NULL || in xfs_defer_relog()
375 xfs_log_item_in_current_chkpt(dfp->dfp_intent)) in xfs_defer_relog()
388 if (XFS_LSN_CMP(dfp->dfp_intent->li_lsn, threshold_lsn) >= 0) in xfs_defer_relog()
391 trace_xfs_defer_relog_intent((*tpp)->t_mountp, dfp); in xfs_defer_relog()
393 dfp->dfp_intent = xfs_trans_item_relog(dfp->dfp_intent, *tpp); in xfs_defer_relog()
408 struct xfs_defer_pending *dfp) in xfs_defer_finish_one() argument
410 const struct xfs_defer_op_type *ops = defer_op_types[dfp->dfp_type]; in xfs_defer_finish_one()
415 trace_xfs_defer_pending_finish(tp->t_mountp, dfp); in xfs_defer_finish_one()
417 dfp->dfp_done = ops->create_done(tp, dfp->dfp_intent, dfp->dfp_count); in xfs_defer_finish_one()
418 list_for_each_safe(li, n, &dfp->dfp_work) { in xfs_defer_finish_one()
420 dfp->dfp_count--; in xfs_defer_finish_one()
421 error = ops->finish_item(tp, dfp->dfp_done, li, &state); in xfs_defer_finish_one()
429 list_add(li, &dfp->dfp_work); in xfs_defer_finish_one()
430 dfp->dfp_count++; in xfs_defer_finish_one()
431 dfp->dfp_done = NULL; in xfs_defer_finish_one()
432 dfp->dfp_intent = NULL; in xfs_defer_finish_one()
433 xfs_defer_create_intent(tp, dfp, false); in xfs_defer_finish_one()
440 /* Done with the dfp, free it. */ in xfs_defer_finish_one()
441 list_del(&dfp->dfp_list); in xfs_defer_finish_one()
442 kmem_free(dfp); in xfs_defer_finish_one()
461 struct xfs_defer_pending *dfp; in xfs_defer_finish_noroll() local
492 dfp = list_first_entry(&dop_pending, struct xfs_defer_pending, in xfs_defer_finish_noroll()
494 error = xfs_defer_finish_one(*tp, dfp); in xfs_defer_finish_noroll()
556 struct xfs_defer_pending *dfp = NULL; in xfs_defer_add() local
568 dfp = list_last_entry(&tp->t_dfops, in xfs_defer_add()
570 ops = defer_op_types[dfp->dfp_type]; in xfs_defer_add()
571 if (dfp->dfp_type != type || in xfs_defer_add()
572 (ops->max_items && dfp->dfp_count >= ops->max_items)) in xfs_defer_add()
573 dfp = NULL; in xfs_defer_add()
575 if (!dfp) { in xfs_defer_add()
576 dfp = kmem_alloc(sizeof(struct xfs_defer_pending), in xfs_defer_add()
578 dfp->dfp_type = type; in xfs_defer_add()
579 dfp->dfp_intent = NULL; in xfs_defer_add()
580 dfp->dfp_done = NULL; in xfs_defer_add()
581 dfp->dfp_count = 0; in xfs_defer_add()
582 INIT_LIST_HEAD(&dfp->dfp_work); in xfs_defer_add()
583 list_add_tail(&dfp->dfp_list, &tp->t_dfops); in xfs_defer_add()
586 list_add_tail(li, &dfp->dfp_work); in xfs_defer_add()
587 dfp->dfp_count++; in xfs_defer_add()