Lines Matching full:sequence
61 * Check if the current log item was first committed in this sequence.
63 * the recorded commit sequence number.
80 * current sequence, we're in a new checkpoint. in xlog_item_in_current_chkpt()
194 ctx->sequence = ++cil->xc_current_sequence; in xlog_cil_ctx_switch()
214 log->l_cilp->xc_ctx->sequence = 1; in xlog_cil_init_post_recovery()
412 * CIL, store the sequence number on the log item so we can in xfs_cil_prepare_item()
417 lv->lv_item->li_seq = log->l_cilp->xc_ctx->sequence; in xfs_cil_prepare_item()
832 * sequence to have the ordered commit record assigned to a physical in xlog_cil_set_ctx_write_state()
844 * Ensure that the order of log writes follows checkpoint sequence order. This
856 xfs_csn_t sequence, in xlog_cil_order_write() argument
876 * Don't wait for our own sequence, either. in xlog_cil_order_write()
878 if (ctx->sequence >= sequence) in xlog_cil_order_write()
904 * sequence order so that log recovery will always use in-order start LSNs when
915 error = xlog_cil_order_write(ctx->cil, ctx->sequence, _START_RECORD); in xlog_cil_write_chain()
924 * sequence order so that log recovery will always replay the checkpoints in the
953 error = xlog_cil_order_write(ctx->cil, ctx->sequence, _COMMIT_RECORD); in xlog_cil_write_commit_record()
1109 * If the current sequence is the same as xc_push_seq we need to do a flush. If
1110 * xc_push_seq is less than the current sequence, then it has already been
1114 * xc_push_seq is checked unlocked against the sequence number for a match.
1116 * same sequence twice. If we get a race between multiple pushes for the same
1117 * sequence they will block on the first one and then abort, hence avoiding
1146 ASSERT(push_seq <= ctx->sequence); in xlog_cil_push_work()
1165 * move on to a new sequence number and so we have to be able to push in xlog_cil_push_work()
1166 * this sequence again later. in xlog_cil_push_work()
1175 /* check for a previously pushed sequence */ in xlog_cil_push_work()
1176 if (push_seq < ctx->sequence) { in xlog_cil_push_work()
1188 * the current sequence not being found on the committing list; in xlog_cil_push_work()
1190 * an unchanged sequence number in xlog_cil_push_work()
1193 * list before emptying the CIL and bumping the sequence number. Hence in xlog_cil_push_work()
1194 * an empty CIL and an unchanged sequence number means we jumped out in xlog_cil_push_work()
1197 * Hence the waiter will either find the commit sequence on the in xlog_cil_push_work()
1198 * committing list or the sequence number will be unchanged and the CIL in xlog_cil_push_work()
1202 * sequence may fully commit between the attempts the wait makes to wait in xlog_cil_push_work()
1203 * on the commit sequence. in xlog_cil_push_work()
1229 * xfs_log_force_seq requires us to mirror the new sequence into the cil in xlog_cil_push_work()
1230 * structure atomically with the addition of this sequence to the in xlog_cil_push_work()
1232 * against the current sequence in log forces without risking in xlog_cil_push_work()
1434 * xlog_cil_push_now() is used to trigger an immediate CIL push to the sequence
1480 * If the CIL is empty or we've already pushed the sequence then in xlog_cil_push_now()
1606 lip->li_ops->iop_committing(lip, cil->xc_ctx->sequence); in xlog_cil_commit()
1609 *commit_seq = cil->xc_ctx->sequence; in xlog_cil_commit()
1638 * Conditionally push the CIL based on the sequence passed in.
1640 * We only need to push if we haven't already pushed the sequence number given.
1641 * Hence the only time we will trigger a push here is if the push sequence is
1650 xfs_csn_t sequence) in xlog_cil_force_seq() argument
1656 ASSERT(sequence <= cil->xc_current_sequence); in xlog_cil_force_seq()
1658 if (!sequence) in xlog_cil_force_seq()
1659 sequence = cil->xc_current_sequence; in xlog_cil_force_seq()
1660 trace_xfs_log_force(log->l_mp, sequence, _RET_IP_); in xlog_cil_force_seq()
1664 * xlog_cil_push() handles racing pushes for the same sequence, in xlog_cil_force_seq()
1668 xlog_cil_push_now(log, sequence, false); in xlog_cil_force_seq()
1671 * See if we can find a previous sequence still committing. in xlog_cil_force_seq()
1672 * We need to wait for all previous sequence commits to complete in xlog_cil_force_seq()
1685 if (ctx->sequence > sequence) in xlog_cil_force_seq()
1696 if (ctx->sequence != sequence) in xlog_cil_force_seq()
1704 * Hence by the time we have got here it our sequence may not have been in xlog_cil_force_seq()
1705 * pushed yet. This is true if the current sequence still matches the in xlog_cil_force_seq()
1706 * push sequence after the above wait loop and the CIL still contains in xlog_cil_force_seq()
1711 * current sequence number is unchanged then the CIL contents are in xlog_cil_force_seq()
1717 if (sequence == cil->xc_current_sequence && in xlog_cil_force_seq()