Lines Matching full:dfp
187 struct xfs_defer_pending *dfp; in xfs_defer_create_intents() local
189 list_for_each_entry(dfp, &tp->t_dfops, dfp_list) { in xfs_defer_create_intents()
190 dfp->dfp_intent = dfp->dfp_type->create_intent(tp, in xfs_defer_create_intents()
191 dfp->dfp_count); in xfs_defer_create_intents()
192 trace_xfs_defer_create_intent(tp->t_mountp, dfp); in xfs_defer_create_intents()
193 list_sort(tp->t_mountp, &dfp->dfp_work, in xfs_defer_create_intents()
194 dfp->dfp_type->diff_items); in xfs_defer_create_intents()
195 list_for_each(li, &dfp->dfp_work) in xfs_defer_create_intents()
196 dfp->dfp_type->log_item(tp, dfp->dfp_intent, li); in xfs_defer_create_intents()
206 struct xfs_defer_pending *dfp; in xfs_defer_trans_abort() local
211 list_for_each_entry(dfp, dop_pending, dfp_list) { in xfs_defer_trans_abort()
212 trace_xfs_defer_pending_abort(tp->t_mountp, dfp); in xfs_defer_trans_abort()
213 if (dfp->dfp_intent && !dfp->dfp_done) { in xfs_defer_trans_abort()
214 dfp->dfp_type->abort_intent(dfp->dfp_intent); in xfs_defer_trans_abort()
215 dfp->dfp_intent = NULL; in xfs_defer_trans_abort()
318 struct xfs_defer_pending *dfp; in xfs_defer_cancel_list() local
327 list_for_each_entry_safe(dfp, pli, dop_list, dfp_list) { in xfs_defer_cancel_list()
328 trace_xfs_defer_cancel_list(mp, dfp); in xfs_defer_cancel_list()
329 list_del(&dfp->dfp_list); in xfs_defer_cancel_list()
330 list_for_each_safe(pwi, n, &dfp->dfp_work) { in xfs_defer_cancel_list()
332 dfp->dfp_count--; in xfs_defer_cancel_list()
333 dfp->dfp_type->cancel_item(pwi); in xfs_defer_cancel_list()
335 ASSERT(dfp->dfp_count == 0); in xfs_defer_cancel_list()
336 kmem_free(dfp); in xfs_defer_cancel_list()
352 struct xfs_defer_pending *dfp; in xfs_defer_finish_noroll() local
378 dfp = list_first_entry(&dop_pending, struct xfs_defer_pending, in xfs_defer_finish_noroll()
380 trace_xfs_defer_pending_finish((*tp)->t_mountp, dfp); in xfs_defer_finish_noroll()
381 dfp->dfp_done = dfp->dfp_type->create_done(*tp, dfp->dfp_intent, in xfs_defer_finish_noroll()
382 dfp->dfp_count); in xfs_defer_finish_noroll()
383 cleanup_fn = dfp->dfp_type->finish_cleanup; in xfs_defer_finish_noroll()
387 list_for_each_safe(li, n, &dfp->dfp_work) { in xfs_defer_finish_noroll()
389 dfp->dfp_count--; in xfs_defer_finish_noroll()
390 error = dfp->dfp_type->finish_item(*tp, li, in xfs_defer_finish_noroll()
391 dfp->dfp_done, &state); in xfs_defer_finish_noroll()
398 list_add(li, &dfp->dfp_work); in xfs_defer_finish_noroll()
399 dfp->dfp_count++; in xfs_defer_finish_noroll()
420 dfp->dfp_intent = dfp->dfp_type->create_intent(*tp, in xfs_defer_finish_noroll()
421 dfp->dfp_count); in xfs_defer_finish_noroll()
422 dfp->dfp_done = NULL; in xfs_defer_finish_noroll()
423 list_for_each(li, &dfp->dfp_work) in xfs_defer_finish_noroll()
424 dfp->dfp_type->log_item(*tp, dfp->dfp_intent, in xfs_defer_finish_noroll()
427 /* Done with the dfp, free it. */ in xfs_defer_finish_noroll()
428 list_del(&dfp->dfp_list); in xfs_defer_finish_noroll()
429 kmem_free(dfp); in xfs_defer_finish_noroll()
492 struct xfs_defer_pending *dfp = NULL; in xfs_defer_add() local
502 dfp = list_last_entry(&tp->t_dfops, in xfs_defer_add()
504 if (dfp->dfp_type->type != type || in xfs_defer_add()
505 (dfp->dfp_type->max_items && in xfs_defer_add()
506 dfp->dfp_count >= dfp->dfp_type->max_items)) in xfs_defer_add()
507 dfp = NULL; in xfs_defer_add()
509 if (!dfp) { in xfs_defer_add()
510 dfp = kmem_alloc(sizeof(struct xfs_defer_pending), in xfs_defer_add()
512 dfp->dfp_type = defer_op_types[type]; in xfs_defer_add()
513 dfp->dfp_intent = NULL; in xfs_defer_add()
514 dfp->dfp_done = NULL; in xfs_defer_add()
515 dfp->dfp_count = 0; in xfs_defer_add()
516 INIT_LIST_HEAD(&dfp->dfp_work); in xfs_defer_add()
517 list_add_tail(&dfp->dfp_list, &tp->t_dfops); in xfs_defer_add()
520 list_add_tail(li, &dfp->dfp_work); in xfs_defer_add()
521 dfp->dfp_count++; in xfs_defer_add()