Lines Matching refs:commit_transaction
115 transaction_t *commit_transaction, in journal_submit_commit_record() argument
129 bh = jbd2_journal_get_descriptor_buffer(commit_transaction, in journal_submit_commit_record()
212 transaction_t *commit_transaction) in journal_submit_data_buffers() argument
218 list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { in journal_submit_data_buffers()
231 J_ASSERT(jinode->i_transaction == commit_transaction); in journal_submit_data_buffers()
255 transaction_t *commit_transaction) in journal_finish_inode_data_buffers() argument
262 list_for_each_entry(jinode, &commit_transaction->t_inode_list, i_list) { in journal_finish_inode_data_buffers()
282 &commit_transaction->t_inode_list, i_list) { in journal_finish_inode_data_buffers()
351 transaction_t *commit_transaction; in jbd2_journal_commit_transaction() local
431 commit_transaction = journal->j_running_transaction; in jbd2_journal_commit_transaction()
433 trace_jbd2_start_commit(journal, commit_transaction); in jbd2_journal_commit_transaction()
435 commit_transaction->t_tid); in jbd2_journal_commit_transaction()
439 J_ASSERT(commit_transaction->t_state == T_RUNNING); in jbd2_journal_commit_transaction()
440 commit_transaction->t_state = T_LOCKED; in jbd2_journal_commit_transaction()
442 trace_jbd2_commit_locking(journal, commit_transaction); in jbd2_journal_commit_transaction()
443 stats.run.rs_wait = commit_transaction->t_max_wait; in jbd2_journal_commit_transaction()
446 if (commit_transaction->t_requested) in jbd2_journal_commit_transaction()
448 jbd2_time_diff(commit_transaction->t_requested, in jbd2_journal_commit_transaction()
450 stats.run.rs_running = jbd2_time_diff(commit_transaction->t_start, in jbd2_journal_commit_transaction()
456 commit_transaction->t_state = T_SWITCH; in jbd2_journal_commit_transaction()
458 J_ASSERT (atomic_read(&commit_transaction->t_outstanding_credits) <= in jbd2_journal_commit_transaction()
479 while (commit_transaction->t_reserved_list) { in jbd2_journal_commit_transaction()
480 jh = commit_transaction->t_reserved_list; in jbd2_journal_commit_transaction()
525 &commit_transaction->t_outstanding_credits); in jbd2_journal_commit_transaction()
527 trace_jbd2_commit_flushing(journal, commit_transaction); in jbd2_journal_commit_transaction()
532 commit_transaction->t_state = T_FLUSH; in jbd2_journal_commit_transaction()
533 journal->j_committing_transaction = commit_transaction; in jbd2_journal_commit_transaction()
536 commit_transaction->t_log_start = journal->j_head; in jbd2_journal_commit_transaction()
546 err = journal_submit_data_buffers(journal, commit_transaction); in jbd2_journal_commit_transaction()
551 jbd2_journal_write_revoke_records(commit_transaction, &log_bufs); in jbd2_journal_commit_transaction()
561 commit_transaction->t_state = T_COMMIT; in jbd2_journal_commit_transaction()
564 trace_jbd2_commit_logging(journal, commit_transaction); in jbd2_journal_commit_transaction()
568 stats.run.rs_blocks = commit_transaction->t_nr_buffers; in jbd2_journal_commit_transaction()
571 J_ASSERT(commit_transaction->t_nr_buffers <= in jbd2_journal_commit_transaction()
572 atomic_read(&commit_transaction->t_outstanding_credits)); in jbd2_journal_commit_transaction()
576 while (commit_transaction->t_buffers) { in jbd2_journal_commit_transaction()
580 jh = commit_transaction->t_buffers; in jbd2_journal_commit_transaction()
597 if (!commit_transaction->t_buffers) in jbd2_journal_commit_transaction()
611 commit_transaction, in jbd2_journal_commit_transaction()
650 atomic_dec(&commit_transaction->t_outstanding_credits); in jbd2_journal_commit_transaction()
663 escape = jbd2_journal_write_metadata_buffer(commit_transaction, in jbd2_journal_commit_transaction()
680 commit_transaction->t_tid); in jbd2_journal_commit_transaction()
696 commit_transaction->t_buffers == NULL || in jbd2_journal_commit_transaction()
738 err = journal_finish_inode_data_buffers(journal, commit_transaction); in jbd2_journal_commit_transaction()
768 J_ASSERT(commit_transaction->t_state == T_COMMIT); in jbd2_journal_commit_transaction()
769 commit_transaction->t_state = T_COMMIT_DFLUSH; in jbd2_journal_commit_transaction()
777 if ((commit_transaction->t_need_data_flush || update_tail) && in jbd2_journal_commit_transaction()
784 err = journal_submit_commit_record(journal, commit_transaction, in jbd2_journal_commit_transaction()
828 jh = commit_transaction->t_shadow_list->b_tprev; in jbd2_journal_commit_transaction()
839 jbd2_journal_file_buffer(jh, commit_transaction, BJ_Forget); in jbd2_journal_commit_transaction()
844 J_ASSERT (commit_transaction->t_shadow_list == NULL); in jbd2_journal_commit_transaction()
872 J_ASSERT(commit_transaction->t_state == T_COMMIT_DFLUSH); in jbd2_journal_commit_transaction()
873 commit_transaction->t_state = T_COMMIT_JFLUSH; in jbd2_journal_commit_transaction()
877 err = journal_submit_commit_record(journal, commit_transaction, in jbd2_journal_commit_transaction()
894 atomic_read(&commit_transaction->t_outstanding_credits) < 0); in jbd2_journal_commit_transaction()
911 J_ASSERT(list_empty(&commit_transaction->t_inode_list)); in jbd2_journal_commit_transaction()
912 J_ASSERT(commit_transaction->t_buffers == NULL); in jbd2_journal_commit_transaction()
913 J_ASSERT(commit_transaction->t_checkpoint_list == NULL); in jbd2_journal_commit_transaction()
914 J_ASSERT(commit_transaction->t_shadow_list == NULL); in jbd2_journal_commit_transaction()
922 while (commit_transaction->t_forget) { in jbd2_journal_commit_transaction()
928 jh = commit_transaction->t_forget; in jbd2_journal_commit_transaction()
937 J_ASSERT_JH(jh, jh->b_transaction == commit_transaction); in jbd2_journal_commit_transaction()
1018 __jbd2_journal_insert_checkpoint(jh, commit_transaction); in jbd2_journal_commit_transaction()
1059 if (commit_transaction->t_forget) { in jbd2_journal_commit_transaction()
1069 journal->j_checkpoint_transactions = commit_transaction; in jbd2_journal_commit_transaction()
1070 commit_transaction->t_cpnext = commit_transaction; in jbd2_journal_commit_transaction()
1071 commit_transaction->t_cpprev = commit_transaction; in jbd2_journal_commit_transaction()
1073 commit_transaction->t_cpnext = in jbd2_journal_commit_transaction()
1075 commit_transaction->t_cpprev = in jbd2_journal_commit_transaction()
1076 commit_transaction->t_cpnext->t_cpprev; in jbd2_journal_commit_transaction()
1077 commit_transaction->t_cpnext->t_cpprev = in jbd2_journal_commit_transaction()
1078 commit_transaction; in jbd2_journal_commit_transaction()
1079 commit_transaction->t_cpprev->t_cpnext = in jbd2_journal_commit_transaction()
1080 commit_transaction; in jbd2_journal_commit_transaction()
1088 J_ASSERT(commit_transaction->t_state == T_COMMIT_JFLUSH); in jbd2_journal_commit_transaction()
1090 commit_transaction->t_start = jiffies; in jbd2_journal_commit_transaction()
1092 commit_transaction->t_start); in jbd2_journal_commit_transaction()
1097 stats.ts_tid = commit_transaction->t_tid; in jbd2_journal_commit_transaction()
1099 atomic_read(&commit_transaction->t_handle_count); in jbd2_journal_commit_transaction()
1101 commit_transaction->t_tid, &stats.run); in jbd2_journal_commit_transaction()
1102 stats.ts_requested = (commit_transaction->t_requested) ? 1 : 0; in jbd2_journal_commit_transaction()
1104 commit_transaction->t_state = T_COMMIT_CALLBACK; in jbd2_journal_commit_transaction()
1105 J_ASSERT(commit_transaction == journal->j_committing_transaction); in jbd2_journal_commit_transaction()
1106 WRITE_ONCE(journal->j_commit_sequence, commit_transaction->t_tid); in jbd2_journal_commit_transaction()
1123 journal->j_commit_callback(journal, commit_transaction); in jbd2_journal_commit_transaction()
1125 journal->j_fc_cleanup_callback(journal, 1, commit_transaction->t_tid); in jbd2_journal_commit_transaction()
1127 trace_jbd2_end_commit(journal, commit_transaction); in jbd2_journal_commit_transaction()
1135 commit_transaction->t_state = T_FINISHED; in jbd2_journal_commit_transaction()
1137 if (commit_transaction->t_checkpoint_list == NULL) { in jbd2_journal_commit_transaction()
1138 __jbd2_journal_drop_transaction(journal, commit_transaction); in jbd2_journal_commit_transaction()
1139 jbd2_journal_free_transaction(commit_transaction); in jbd2_journal_commit_transaction()