Lines Matching refs:transaction

35 	transaction_t *transaction = jh->b_cp_transaction;  in __buffer_unlink_first()  local
39 if (transaction->t_checkpoint_list == jh) { in __buffer_unlink_first()
40 transaction->t_checkpoint_list = jh->b_cpnext; in __buffer_unlink_first()
41 if (transaction->t_checkpoint_list == jh) in __buffer_unlink_first()
42 transaction->t_checkpoint_list = NULL; in __buffer_unlink_first()
53 transaction_t *transaction = jh->b_cp_transaction; in __buffer_unlink() local
56 if (transaction->t_checkpoint_io_list == jh) { in __buffer_unlink()
57 transaction->t_checkpoint_io_list = jh->b_cpnext; in __buffer_unlink()
58 if (transaction->t_checkpoint_io_list == jh) in __buffer_unlink()
59 transaction->t_checkpoint_io_list = NULL; in __buffer_unlink()
70 transaction_t *transaction = jh->b_cp_transaction; in __buffer_relink_io() local
74 if (!transaction->t_checkpoint_io_list) { in __buffer_relink_io()
77 jh->b_cpnext = transaction->t_checkpoint_io_list; in __buffer_relink_io()
78 jh->b_cpprev = transaction->t_checkpoint_io_list->b_cpprev; in __buffer_relink_io()
82 transaction->t_checkpoint_io_list = jh; in __buffer_relink_io()
207 static int __wait_cp_io(journal_t *journal, transaction_t *transaction) in __wait_cp_io() argument
215 this_tid = transaction->t_tid; in __wait_cp_io()
218 if (journal->j_checkpoint_transactions != transaction || in __wait_cp_io()
219 transaction->t_tid != this_tid) in __wait_cp_io()
221 while (!released && transaction->t_checkpoint_io_list) { in __wait_cp_io()
222 jh = transaction->t_checkpoint_io_list; in __wait_cp_io()
357 transaction_t *transaction; in log_do_checkpoint() local
382 transaction = journal->j_checkpoint_transactions; in log_do_checkpoint()
383 this_tid = transaction->t_tid; in log_do_checkpoint()
390 if (journal->j_checkpoint_transactions == transaction && in log_do_checkpoint()
391 transaction->t_tid == this_tid) { in log_do_checkpoint()
397 while (!retry && transaction->t_checkpoint_list) { in log_do_checkpoint()
400 jh = transaction->t_checkpoint_list; in log_do_checkpoint()
434 err = __wait_cp_io(journal, transaction); in log_do_checkpoint()
466 transaction_t * transaction; in cleanup_journal_tail() local
483 transaction = journal->j_checkpoint_transactions; in cleanup_journal_tail()
484 if (transaction) { in cleanup_journal_tail()
485 first_tid = transaction->t_tid; in cleanup_journal_tail()
486 blocknr = transaction->t_log_start; in cleanup_journal_tail()
487 } else if ((transaction = journal->j_committing_transaction) != NULL) { in cleanup_journal_tail()
488 first_tid = transaction->t_tid; in cleanup_journal_tail()
489 blocknr = transaction->t_log_start; in cleanup_journal_tail()
490 } else if ((transaction = journal->j_running_transaction) != NULL) { in cleanup_journal_tail()
491 first_tid = transaction->t_tid; in cleanup_journal_tail()
607 transaction_t *transaction, *last_transaction, *next_transaction; in __journal_clean_checkpoint_list() local
611 transaction = journal->j_checkpoint_transactions; in __journal_clean_checkpoint_list()
612 if (!transaction) in __journal_clean_checkpoint_list()
615 last_transaction = transaction->t_cpprev; in __journal_clean_checkpoint_list()
616 next_transaction = transaction; in __journal_clean_checkpoint_list()
618 transaction = next_transaction; in __journal_clean_checkpoint_list()
619 next_transaction = transaction->t_cpnext; in __journal_clean_checkpoint_list()
620 ret += journal_clean_one_cp_list(transaction-> in __journal_clean_checkpoint_list()
636 ret += journal_clean_one_cp_list(transaction-> in __journal_clean_checkpoint_list()
640 } while (transaction != last_transaction); in __journal_clean_checkpoint_list()
667 transaction_t *transaction; in __journal_remove_checkpoint() local
673 if ((transaction = jh->b_cp_transaction) == NULL) { in __journal_remove_checkpoint()
677 journal = transaction->t_journal; in __journal_remove_checkpoint()
684 if (transaction->t_checkpoint_list != NULL || in __journal_remove_checkpoint()
685 transaction->t_checkpoint_io_list != NULL) in __journal_remove_checkpoint()
697 if (transaction->t_state != T_FINISHED) in __journal_remove_checkpoint()
703 __journal_drop_transaction(journal, transaction); in __journal_remove_checkpoint()
722 transaction_t *transaction) in __journal_insert_checkpoint() argument
730 jh->b_cp_transaction = transaction; in __journal_insert_checkpoint()
732 if (!transaction->t_checkpoint_list) { in __journal_insert_checkpoint()
735 jh->b_cpnext = transaction->t_checkpoint_list; in __journal_insert_checkpoint()
736 jh->b_cpprev = transaction->t_checkpoint_list->b_cpprev; in __journal_insert_checkpoint()
740 transaction->t_checkpoint_list = jh; in __journal_insert_checkpoint()
753 void __journal_drop_transaction(journal_t *journal, transaction_t *transaction) in __journal_drop_transaction() argument
756 if (transaction->t_cpnext) { in __journal_drop_transaction()
757 transaction->t_cpnext->t_cpprev = transaction->t_cpprev; in __journal_drop_transaction()
758 transaction->t_cpprev->t_cpnext = transaction->t_cpnext; in __journal_drop_transaction()
759 if (journal->j_checkpoint_transactions == transaction) in __journal_drop_transaction()
761 transaction->t_cpnext; in __journal_drop_transaction()
762 if (journal->j_checkpoint_transactions == transaction) in __journal_drop_transaction()
766 J_ASSERT(transaction->t_state == T_FINISHED); in __journal_drop_transaction()
767 J_ASSERT(transaction->t_buffers == NULL); in __journal_drop_transaction()
768 J_ASSERT(transaction->t_sync_datalist == NULL); in __journal_drop_transaction()
769 J_ASSERT(transaction->t_forget == NULL); in __journal_drop_transaction()
770 J_ASSERT(transaction->t_iobuf_list == NULL); in __journal_drop_transaction()
771 J_ASSERT(transaction->t_shadow_list == NULL); in __journal_drop_transaction()
772 J_ASSERT(transaction->t_log_list == NULL); in __journal_drop_transaction()
773 J_ASSERT(transaction->t_checkpoint_list == NULL); in __journal_drop_transaction()
774 J_ASSERT(transaction->t_checkpoint_io_list == NULL); in __journal_drop_transaction()
775 J_ASSERT(transaction->t_updates == 0); in __journal_drop_transaction()
776 J_ASSERT(journal->j_committing_transaction != transaction); in __journal_drop_transaction()
777 J_ASSERT(journal->j_running_transaction != transaction); in __journal_drop_transaction()
779 trace_jbd_drop_transaction(journal, transaction); in __journal_drop_transaction()
780 jbd_debug(1, "Dropping transaction %d, all done\n", transaction->t_tid); in __journal_drop_transaction()
781 kfree(transaction); in __journal_drop_transaction()