Lines Matching full:sequence
73 ctx->sequence = ++cil->xc_current_sequence; in xlog_cil_ctx_switch()
93 log->l_cilp->xc_ctx->sequence = 1; in xlog_cil_init_post_recovery()
297 * CIL, store the sequence number on the log item so we can in xfs_cil_prepare_item()
302 lv->lv_item->li_seq = log->l_cilp->xc_ctx->sequence; in xfs_cil_prepare_item()
713 * sequence to have the ordered commit record assigned to a physical in xlog_cil_set_ctx_write_state()
725 * Ensure that the order of log writes follows checkpoint sequence order. This
737 xfs_csn_t sequence, in xlog_cil_order_write() argument
757 * Don't wait for our own sequence, either. in xlog_cil_order_write()
759 if (ctx->sequence >= sequence) in xlog_cil_order_write()
785 * sequence order so that log recovery will always use in-order start LSNs when
796 error = xlog_cil_order_write(ctx->cil, ctx->sequence, _START_RECORD); in xlog_cil_write_chain()
805 * sequence order so that log recovery will always replay the checkpoints in the
827 error = xlog_cil_order_write(ctx->cil, ctx->sequence, _COMMIT_RECORD); in xlog_cil_write_commit_record()
840 * If the current sequence is the same as xc_push_seq we need to do a flush. If
841 * xc_push_seq is less than the current sequence, then it has already been
845 * xc_push_seq is checked unlocked against the sequence number for a match.
847 * same sequence twice. If we get a race between multiple pushes for the same
848 * sequence they will block on the first one and then abort, hence avoiding
880 ASSERT(push_seq <= ctx->sequence); in xlog_cil_push_work()
897 * move on to a new sequence number and so we have to be able to push in xlog_cil_push_work()
898 * this sequence again later. in xlog_cil_push_work()
907 /* check for a previously pushed sequence */ in xlog_cil_push_work()
908 if (push_seq < ctx->sequence) { in xlog_cil_push_work()
920 * the current sequence not being found on the committing list; in xlog_cil_push_work()
922 * an unchanged sequence number in xlog_cil_push_work()
925 * list before emptying the CIL and bumping the sequence number. Hence in xlog_cil_push_work()
926 * an empty CIL and an unchanged sequence number means we jumped out in xlog_cil_push_work()
929 * Hence the waiter will either find the commit sequence on the in xlog_cil_push_work()
930 * committing list or the sequence number will be unchanged and the CIL in xlog_cil_push_work()
934 * sequence may fully commit between the attempts the wait makes to wait in xlog_cil_push_work()
935 * on the commit sequence. in xlog_cil_push_work()
999 * xfs_log_force_seq requires us to mirror the new sequence into the cil in xlog_cil_push_work()
1000 * structure atomically with the addition of this sequence to the in xlog_cil_push_work()
1002 * against the current sequence in log forces without risking in xlog_cil_push_work()
1188 * xlog_cil_push_now() is used to trigger an immediate CIL push to the sequence
1223 * If the CIL is empty or we've already pushed the sequence then in xlog_cil_push_now()
1309 lip->li_ops->iop_committing(lip, cil->xc_ctx->sequence); in xlog_cil_commit()
1312 *commit_seq = cil->xc_ctx->sequence; in xlog_cil_commit()
1334 * Conditionally push the CIL based on the sequence passed in.
1336 * We only need to push if we haven't already pushed the sequence number given.
1337 * Hence the only time we will trigger a push here is if the push sequence is
1346 xfs_csn_t sequence) in xlog_cil_force_seq() argument
1352 ASSERT(sequence <= cil->xc_current_sequence); in xlog_cil_force_seq()
1354 if (!sequence) in xlog_cil_force_seq()
1355 sequence = cil->xc_current_sequence; in xlog_cil_force_seq()
1356 trace_xfs_log_force(log->l_mp, sequence, _RET_IP_); in xlog_cil_force_seq()
1360 * xlog_cil_push() handles racing pushes for the same sequence, in xlog_cil_force_seq()
1364 xlog_cil_push_now(log, sequence, false); in xlog_cil_force_seq()
1367 * See if we can find a previous sequence still committing. in xlog_cil_force_seq()
1368 * We need to wait for all previous sequence commits to complete in xlog_cil_force_seq()
1381 if (ctx->sequence > sequence) in xlog_cil_force_seq()
1392 if (ctx->sequence != sequence) in xlog_cil_force_seq()
1400 * Hence by the time we have got here it our sequence may not have been in xlog_cil_force_seq()
1401 * pushed yet. This is true if the current sequence still matches the in xlog_cil_force_seq()
1402 * push sequence after the above wait loop and the CIL still contains in xlog_cil_force_seq()
1407 * current sequence number is unchanged then the CIL contents are in xlog_cil_force_seq()
1413 if (sequence == cil->xc_current_sequence && in xlog_cil_force_seq()
1435 * Check if the current log item was first committed in this sequence.
1437 * the recorded commit sequence number.
1455 * current sequence, we're in a new checkpoint. in xfs_log_item_in_current_chkpt()
1457 return lip->li_seq == ctx->sequence; in xfs_log_item_in_current_chkpt()