Lines Matching refs:commit_transaction

117 					transaction_t *commit_transaction,  in journal_submit_commit_record()  argument
131 bh = jbd2_journal_get_descriptor_buffer(commit_transaction, in journal_submit_commit_record()
242 transaction_t *commit_transaction) in journal_submit_data_buffers() argument
248 list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { in journal_submit_data_buffers()
261 J_ASSERT(jinode->i_transaction == commit_transaction); in journal_submit_data_buffers()
285 transaction_t *commit_transaction) in journal_finish_inode_data_buffers() argument
292 list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { in journal_finish_inode_data_buffers()
311 &commit_transaction->t_inode_list, i_list) { in journal_finish_inode_data_buffers()
384 transaction_t *commit_transaction; in jbd2_journal_commit_transaction() local
465 commit_transaction = journal->j_running_transaction; in jbd2_journal_commit_transaction()
467 trace_jbd2_start_commit(journal, commit_transaction); in jbd2_journal_commit_transaction()
469 commit_transaction->t_tid); in jbd2_journal_commit_transaction()
473 J_ASSERT(commit_transaction->t_state == T_RUNNING); in jbd2_journal_commit_transaction()
474 commit_transaction->t_state = T_LOCKED; in jbd2_journal_commit_transaction()
476 trace_jbd2_commit_locking(journal, commit_transaction); in jbd2_journal_commit_transaction()
477 stats.run.rs_wait = commit_transaction->t_max_wait; in jbd2_journal_commit_transaction()
480 if (commit_transaction->t_requested) in jbd2_journal_commit_transaction()
482 jbd2_time_diff(commit_transaction->t_requested, in jbd2_journal_commit_transaction()
484 stats.run.rs_running = jbd2_time_diff(commit_transaction->t_start, in jbd2_journal_commit_transaction()
487 spin_lock(&commit_transaction->t_handle_lock); in jbd2_journal_commit_transaction()
488 while (atomic_read(&commit_transaction->t_updates)) { in jbd2_journal_commit_transaction()
493 if (atomic_read(&commit_transaction->t_updates)) { in jbd2_journal_commit_transaction()
494 spin_unlock(&commit_transaction->t_handle_lock); in jbd2_journal_commit_transaction()
498 spin_lock(&commit_transaction->t_handle_lock); in jbd2_journal_commit_transaction()
502 spin_unlock(&commit_transaction->t_handle_lock); in jbd2_journal_commit_transaction()
503 commit_transaction->t_state = T_SWITCH; in jbd2_journal_commit_transaction()
506 J_ASSERT (atomic_read(&commit_transaction->t_outstanding_credits) <= in jbd2_journal_commit_transaction()
525 while (commit_transaction->t_reserved_list) { in jbd2_journal_commit_transaction()
526 jh = commit_transaction->t_reserved_list; in jbd2_journal_commit_transaction()
569 &commit_transaction->t_outstanding_credits); in jbd2_journal_commit_transaction()
572 trace_jbd2_commit_flushing(journal, commit_transaction); in jbd2_journal_commit_transaction()
577 commit_transaction->t_state = T_FLUSH; in jbd2_journal_commit_transaction()
578 journal->j_committing_transaction = commit_transaction; in jbd2_journal_commit_transaction()
581 commit_transaction->t_log_start = journal->j_head; in jbd2_journal_commit_transaction()
591 err = journal_submit_data_buffers(journal, commit_transaction); in jbd2_journal_commit_transaction()
596 jbd2_journal_write_revoke_records(commit_transaction, &log_bufs); in jbd2_journal_commit_transaction()
606 commit_transaction->t_state = T_COMMIT; in jbd2_journal_commit_transaction()
609 trace_jbd2_commit_logging(journal, commit_transaction); in jbd2_journal_commit_transaction()
613 stats.run.rs_blocks = commit_transaction->t_nr_buffers; in jbd2_journal_commit_transaction()
616 J_ASSERT(commit_transaction->t_nr_buffers <= in jbd2_journal_commit_transaction()
617 atomic_read(&commit_transaction->t_outstanding_credits)); in jbd2_journal_commit_transaction()
622 while (commit_transaction->t_buffers) { in jbd2_journal_commit_transaction()
626 jh = commit_transaction->t_buffers; in jbd2_journal_commit_transaction()
643 if (!commit_transaction->t_buffers) in jbd2_journal_commit_transaction()
657 commit_transaction, in jbd2_journal_commit_transaction()
696 atomic_dec(&commit_transaction->t_outstanding_credits); in jbd2_journal_commit_transaction()
709 flags = jbd2_journal_write_metadata_buffer(commit_transaction, in jbd2_journal_commit_transaction()
730 commit_transaction->t_tid); in jbd2_journal_commit_transaction()
746 commit_transaction->t_buffers == NULL || in jbd2_journal_commit_transaction()
786 err = journal_finish_inode_data_buffers(journal, commit_transaction); in jbd2_journal_commit_transaction()
816 J_ASSERT(commit_transaction->t_state == T_COMMIT); in jbd2_journal_commit_transaction()
817 commit_transaction->t_state = T_COMMIT_DFLUSH; in jbd2_journal_commit_transaction()
825 if (commit_transaction->t_need_data_flush && in jbd2_journal_commit_transaction()
832 err = journal_submit_commit_record(journal, commit_transaction, in jbd2_journal_commit_transaction()
876 jh = commit_transaction->t_shadow_list->b_tprev; in jbd2_journal_commit_transaction()
887 jbd2_journal_file_buffer(jh, commit_transaction, BJ_Forget); in jbd2_journal_commit_transaction()
892 J_ASSERT (commit_transaction->t_shadow_list == NULL); in jbd2_journal_commit_transaction()
920 J_ASSERT(commit_transaction->t_state == T_COMMIT_DFLUSH); in jbd2_journal_commit_transaction()
921 commit_transaction->t_state = T_COMMIT_JFLUSH; in jbd2_journal_commit_transaction()
925 err = journal_submit_commit_record(journal, commit_transaction, in jbd2_journal_commit_transaction()
942 atomic_read(&commit_transaction->t_outstanding_credits) < 0); in jbd2_journal_commit_transaction()
959 J_ASSERT(list_empty(&commit_transaction->t_inode_list)); in jbd2_journal_commit_transaction()
960 J_ASSERT(commit_transaction->t_buffers == NULL); in jbd2_journal_commit_transaction()
961 J_ASSERT(commit_transaction->t_checkpoint_list == NULL); in jbd2_journal_commit_transaction()
962 J_ASSERT(commit_transaction->t_shadow_list == NULL); in jbd2_journal_commit_transaction()
970 while (commit_transaction->t_forget) { in jbd2_journal_commit_transaction()
976 jh = commit_transaction->t_forget; in jbd2_journal_commit_transaction()
985 J_ASSERT_JH(jh, jh->b_transaction == commit_transaction); in jbd2_journal_commit_transaction()
1066 __jbd2_journal_insert_checkpoint(jh, commit_transaction); in jbd2_journal_commit_transaction()
1107 if (commit_transaction->t_forget) { in jbd2_journal_commit_transaction()
1117 journal->j_checkpoint_transactions = commit_transaction; in jbd2_journal_commit_transaction()
1118 commit_transaction->t_cpnext = commit_transaction; in jbd2_journal_commit_transaction()
1119 commit_transaction->t_cpprev = commit_transaction; in jbd2_journal_commit_transaction()
1121 commit_transaction->t_cpnext = in jbd2_journal_commit_transaction()
1123 commit_transaction->t_cpprev = in jbd2_journal_commit_transaction()
1124 commit_transaction->t_cpnext->t_cpprev; in jbd2_journal_commit_transaction()
1125 commit_transaction->t_cpnext->t_cpprev = in jbd2_journal_commit_transaction()
1126 commit_transaction; in jbd2_journal_commit_transaction()
1127 commit_transaction->t_cpprev->t_cpnext = in jbd2_journal_commit_transaction()
1128 commit_transaction; in jbd2_journal_commit_transaction()
1136 J_ASSERT(commit_transaction->t_state == T_COMMIT_JFLUSH); in jbd2_journal_commit_transaction()
1138 commit_transaction->t_start = jiffies; in jbd2_journal_commit_transaction()
1140 commit_transaction->t_start); in jbd2_journal_commit_transaction()
1145 stats.ts_tid = commit_transaction->t_tid; in jbd2_journal_commit_transaction()
1147 atomic_read(&commit_transaction->t_handle_count); in jbd2_journal_commit_transaction()
1149 commit_transaction->t_tid, &stats.run); in jbd2_journal_commit_transaction()
1150 stats.ts_requested = (commit_transaction->t_requested) ? 1 : 0; in jbd2_journal_commit_transaction()
1152 commit_transaction->t_state = T_COMMIT_CALLBACK; in jbd2_journal_commit_transaction()
1153 J_ASSERT(commit_transaction == journal->j_committing_transaction); in jbd2_journal_commit_transaction()
1154 journal->j_commit_sequence = commit_transaction->t_tid; in jbd2_journal_commit_transaction()
1171 journal->j_commit_callback(journal, commit_transaction); in jbd2_journal_commit_transaction()
1175 trace_jbd2_end_commit(journal, commit_transaction); in jbd2_journal_commit_transaction()
1183 commit_transaction->t_state = T_FINISHED; in jbd2_journal_commit_transaction()
1185 if (commit_transaction->t_checkpoint_list == NULL && in jbd2_journal_commit_transaction()
1186 commit_transaction->t_checkpoint_io_list == NULL) { in jbd2_journal_commit_transaction()
1187 __jbd2_journal_drop_transaction(journal, commit_transaction); in jbd2_journal_commit_transaction()
1188 jbd2_journal_free_transaction(commit_transaction); in jbd2_journal_commit_transaction()