Lines Matching full:sequence
69 log->l_cilp->xc_ctx->sequence = 1; in xlog_cil_init_post_recovery()
264 * CIL, store the sequence number on the log item so we can in xfs_cil_prepare_item()
269 lv->lv_item->li_seq = log->l_cilp->xc_ctx->sequence; in xfs_cil_prepare_item()
595 * waiting in xlog_cil_force_lsn() waiting on a sequence commit that in xlog_cil_committed()
615 * current sequence is the same as @push_seq we need to do a flush. If
616 * @push_seq is less than the current sequence, then it has already been
621 * unlocked check of the sequence number for a match. Hence we can allows log
622 * forces to run racily and not issue pushes for the same sequence twice. If we
623 * get a race between multiple pushes for the same sequence they will block on
655 ASSERT(push_seq <= ctx->sequence); in xlog_cil_push()
659 * move on to a new sequence number and so we have to be able to push in xlog_cil_push()
660 * this sequence again later. in xlog_cil_push()
670 if (push_seq < cil->xc_ctx->sequence) { in xlog_cil_push()
682 * the current sequence not being found on the committing list; in xlog_cil_push()
684 * an unchanged sequence number in xlog_cil_push()
687 * list before emptying the CIL and bumping the sequence number. Hence in xlog_cil_push()
688 * an empty CIL and an unchanged sequence number means we jumped out in xlog_cil_push()
691 * Hence the waiter will either find the commit sequence on the in xlog_cil_push()
692 * committing list or the sequence number will be unchanged and the CIL in xlog_cil_push()
696 * sequence may fully commit between the attempts the wait makes to wait in xlog_cil_push()
697 * on the commit sequence. in xlog_cil_push()
728 * during log forces to extract the commit lsn of the sequence that in xlog_cil_push()
733 new_ctx->sequence = ctx->sequence + 1; in xlog_cil_push()
756 * xfs_log_force_lsn requires us to mirror the new sequence into the cil in xlog_cil_push()
757 * structure atomically with the addition of this sequence to the in xlog_cil_push()
759 * against the current sequence in log forces without risking in xlog_cil_push()
763 cil->xc_current_sequence = new_ctx->sequence; in xlog_cil_push()
813 * Don't wait for our own sequence, either. in xlog_cil_push()
815 if (new_ctx->sequence >= ctx->sequence) in xlog_cil_push()
911 * xlog_cil_push_now() is used to trigger an immediate CIL push to the sequence
932 * If the CIL is empty or we've already pushed the sequence then in xlog_cil_push_now()
996 xc_commit_lsn = cil->xc_ctx->sequence; in xfs_log_commit_cil()
1023 * Conditionally push the CIL based on the sequence passed in.
1025 * We only need to push if we haven't already pushed the sequence
1027 * if the push sequence is the same as the current context.
1035 xfs_lsn_t sequence) in xlog_cil_force_lsn() argument
1041 ASSERT(sequence <= cil->xc_current_sequence); in xlog_cil_force_lsn()
1045 * xlog_cil_push() handles racing pushes for the same sequence, in xlog_cil_force_lsn()
1049 xlog_cil_push_now(log, sequence); in xlog_cil_force_lsn()
1052 * See if we can find a previous sequence still committing. in xlog_cil_force_lsn()
1053 * We need to wait for all previous sequence commits to complete in xlog_cil_force_lsn()
1066 if (ctx->sequence > sequence) in xlog_cil_force_lsn()
1076 if (ctx->sequence != sequence) in xlog_cil_force_lsn()
1084 * Hence by the time we have got here it our sequence may not have been in xlog_cil_force_lsn()
1085 * pushed yet. This is true if the current sequence still matches the in xlog_cil_force_lsn()
1086 * push sequence after the above wait loop and the CIL still contains in xlog_cil_force_lsn()
1091 * current sequence number is unchanged then the CIL contents are in xlog_cil_force_lsn()
1097 if (sequence == cil->xc_current_sequence && in xlog_cil_force_lsn()
1119 * Check if the current log item was first committed in this sequence.
1121 * the recorded commit sequence number.
1141 * current sequence, we're in a new checkpoint. in xfs_log_item_in_current_chkpt()
1143 if (XFS_LSN_CMP(lip->li_seq, ctx->sequence) != 0) in xfs_log_item_in_current_chkpt()
1178 ctx->sequence = 1; in xlog_cil_init()
1181 cil->xc_current_sequence = ctx->sequence; in xlog_cil_init()