• Home
  • Raw
  • Download

Lines Matching refs:journal

98 static int inverted_lock(journal_t *journal, struct buffer_head *bh)  in inverted_lock()  argument
101 spin_unlock(&journal->j_list_lock); in inverted_lock()
115 static int journal_write_commit_record(journal_t *journal, in journal_write_commit_record() argument
124 if (is_journal_aborted(journal)) in journal_write_commit_record()
127 descriptor = journal_get_descriptor_buffer(journal); in journal_write_commit_record()
140 if (journal->j_flags & JFS_BARRIER) { in journal_write_commit_record()
158 bdevname(journal->j_dev, b)); in journal_write_commit_record()
159 spin_lock(&journal->j_state_lock); in journal_write_commit_record()
160 journal->j_flags &= ~JFS_BARRIER; in journal_write_commit_record()
161 spin_unlock(&journal->j_state_lock); in journal_write_commit_record()
188 static int journal_submit_data_buffers(journal_t *journal, in journal_submit_data_buffers() argument
195 struct buffer_head **wbuf = journal->j_wbuf; in journal_submit_data_buffers()
208 spin_lock(&journal->j_list_lock); in journal_submit_data_buffers()
226 spin_unlock(&journal->j_list_lock); in journal_submit_data_buffers()
231 spin_lock(&journal->j_list_lock); in journal_submit_data_buffers()
236 if (!inverted_lock(journal, bh)) { in journal_submit_data_buffers()
238 spin_lock(&journal->j_list_lock); in journal_submit_data_buffers()
257 if (bufs == journal->j_wbufsize) { in journal_submit_data_buffers()
258 spin_unlock(&journal->j_list_lock); in journal_submit_data_buffers()
283 if (need_resched() || spin_needbreak(&journal->j_list_lock)) { in journal_submit_data_buffers()
284 spin_unlock(&journal->j_list_lock); in journal_submit_data_buffers()
288 spin_unlock(&journal->j_list_lock); in journal_submit_data_buffers()
300 void journal_commit_transaction(journal_t *journal) in journal_commit_transaction() argument
304 struct buffer_head **wbuf = journal->j_wbuf; in journal_commit_transaction()
325 spin_lock(&journal->j_list_lock); in journal_commit_transaction()
326 summarise_journal_usage(journal); in journal_commit_transaction()
327 spin_unlock(&journal->j_list_lock); in journal_commit_transaction()
331 if (journal->j_flags & JFS_FLUSHED) { in journal_commit_transaction()
333 journal_update_superblock(journal, 1); in journal_commit_transaction()
338 J_ASSERT(journal->j_running_transaction != NULL); in journal_commit_transaction()
339 J_ASSERT(journal->j_committing_transaction == NULL); in journal_commit_transaction()
341 commit_transaction = journal->j_running_transaction; in journal_commit_transaction()
347 spin_lock(&journal->j_state_lock); in journal_commit_transaction()
354 prepare_to_wait(&journal->j_wait_updates, &wait, in journal_commit_transaction()
358 spin_unlock(&journal->j_state_lock); in journal_commit_transaction()
360 spin_lock(&journal->j_state_lock); in journal_commit_transaction()
363 finish_wait(&journal->j_wait_updates, &wait); in journal_commit_transaction()
368 journal->j_max_transaction_buffers); in journal_commit_transaction()
401 journal_refile_buffer(journal, jh); in journal_commit_transaction()
409 spin_lock(&journal->j_list_lock); in journal_commit_transaction()
410 __journal_clean_checkpoint_list(journal); in journal_commit_transaction()
411 spin_unlock(&journal->j_list_lock); in journal_commit_transaction()
418 journal_switch_revoke_table(journal); in journal_commit_transaction()
421 journal->j_committing_transaction = commit_transaction; in journal_commit_transaction()
422 journal->j_running_transaction = NULL; in journal_commit_transaction()
424 commit_transaction->t_log_start = journal->j_head; in journal_commit_transaction()
425 wake_up(&journal->j_wait_transaction_locked); in journal_commit_transaction()
426 spin_unlock(&journal->j_state_lock); in journal_commit_transaction()
434 err = journal_submit_data_buffers(journal, commit_transaction); in journal_commit_transaction()
439 spin_lock(&journal->j_list_lock); in journal_commit_transaction()
447 spin_unlock(&journal->j_list_lock); in journal_commit_transaction()
449 spin_lock(&journal->j_list_lock); in journal_commit_transaction()
453 spin_unlock(&journal->j_list_lock); in journal_commit_transaction()
455 spin_lock(&journal->j_list_lock); in journal_commit_transaction()
464 if (!inverted_lock(journal, bh)) { in journal_commit_transaction()
466 spin_lock(&journal->j_list_lock); in journal_commit_transaction()
478 cond_resched_lock(&journal->j_list_lock); in journal_commit_transaction()
480 spin_unlock(&journal->j_list_lock); in journal_commit_transaction()
487 "on %s\n", bdevname(journal->j_fs_dev, b)); in journal_commit_transaction()
488 if (journal->j_flags & JFS_ABORT_ON_SYNCDATA_ERR) in journal_commit_transaction()
489 journal_abort(journal, err); in journal_commit_transaction()
493 journal_write_revoke_records(journal, commit_transaction); in journal_commit_transaction()
510 spin_lock(&journal->j_state_lock); in journal_commit_transaction()
512 spin_unlock(&journal->j_state_lock); in journal_commit_transaction()
528 if (is_journal_aborted(journal)) { in journal_commit_transaction()
531 journal_refile_buffer(journal, jh); in journal_commit_transaction()
551 descriptor = journal_get_descriptor_buffer(journal); in journal_commit_transaction()
553 journal_abort(journal, -EIO); in journal_commit_transaction()
581 err = journal_next_log_block(journal, &blocknr); in journal_commit_transaction()
586 journal_abort(journal, err); in journal_commit_transaction()
635 memcpy (tagp, journal->j_uuid, 16); in journal_commit_transaction()
644 if (bufs == journal->j_wbufsize || in journal_commit_transaction()
710 journal_unfile_buffer(journal, jh); in journal_commit_transaction()
765 journal_unfile_buffer(journal, jh); in journal_commit_transaction()
772 journal_abort(journal, err); in journal_commit_transaction()
776 if (journal_write_commit_record(journal, commit_transaction)) in journal_commit_transaction()
780 journal_abort(journal, err); in journal_commit_transaction()
801 spin_lock(&journal->j_list_lock); in journal_commit_transaction()
807 spin_unlock(&journal->j_list_lock); in journal_commit_transaction()
811 jh->b_transaction == journal->j_running_transaction); in journal_commit_transaction()
835 spin_lock(&journal->j_list_lock); in journal_commit_transaction()
864 if (is_journal_aborted(journal)) in journal_commit_transaction()
888 cond_resched_lock(&journal->j_list_lock); in journal_commit_transaction()
890 spin_unlock(&journal->j_list_lock); in journal_commit_transaction()
897 spin_lock(&journal->j_state_lock); in journal_commit_transaction()
898 spin_lock(&journal->j_list_lock); in journal_commit_transaction()
904 spin_unlock(&journal->j_list_lock); in journal_commit_transaction()
905 spin_unlock(&journal->j_state_lock); in journal_commit_transaction()
916 J_ASSERT(commit_transaction == journal->j_committing_transaction); in journal_commit_transaction()
917 journal->j_commit_sequence = commit_transaction->t_tid; in journal_commit_transaction()
918 journal->j_committing_transaction = NULL; in journal_commit_transaction()
925 if (likely(journal->j_average_commit_time)) in journal_commit_transaction()
926 journal->j_average_commit_time = (commit_time*3 + in journal_commit_transaction()
927 journal->j_average_commit_time) / 4; in journal_commit_transaction()
929 journal->j_average_commit_time = commit_time; in journal_commit_transaction()
931 spin_unlock(&journal->j_state_lock); in journal_commit_transaction()
935 __journal_drop_transaction(journal, commit_transaction); in journal_commit_transaction()
937 if (journal->j_checkpoint_transactions == NULL) { in journal_commit_transaction()
938 journal->j_checkpoint_transactions = commit_transaction; in journal_commit_transaction()
943 journal->j_checkpoint_transactions; in journal_commit_transaction()
952 spin_unlock(&journal->j_list_lock); in journal_commit_transaction()
955 journal->j_commit_sequence, journal->j_tail_sequence); in journal_commit_transaction()
957 wake_up(&journal->j_wait_done_commit); in journal_commit_transaction()