Lines Matching refs:journal

133 static inline int hash(journal_t *journal, unsigned int block)  in hash()  argument
135 struct jbd_revoke_table_s *table = journal->j_revoke; in hash()
140 static int insert_revoke_hash(journal_t *journal, unsigned int blocknr, in insert_revoke_hash() argument
153 hash_list = &journal->j_revoke->hash_table[hash(journal, blocknr)]; in insert_revoke_hash()
154 spin_lock(&journal->j_revoke_lock); in insert_revoke_hash()
156 spin_unlock(&journal->j_revoke_lock); in insert_revoke_hash()
169 static struct jbd_revoke_record_s *find_revoke_record(journal_t *journal, in find_revoke_record() argument
175 hash_list = &journal->j_revoke->hash_table[hash(journal, blocknr)]; in find_revoke_record()
177 spin_lock(&journal->j_revoke_lock); in find_revoke_record()
181 spin_unlock(&journal->j_revoke_lock); in find_revoke_record()
186 spin_unlock(&journal->j_revoke_lock); in find_revoke_record()
270 int journal_init_revoke(journal_t *journal, int hash_size) in journal_init_revoke() argument
272 J_ASSERT(journal->j_revoke_table[0] == NULL); in journal_init_revoke()
275 journal->j_revoke_table[0] = journal_init_revoke_table(hash_size); in journal_init_revoke()
276 if (!journal->j_revoke_table[0]) in journal_init_revoke()
279 journal->j_revoke_table[1] = journal_init_revoke_table(hash_size); in journal_init_revoke()
280 if (!journal->j_revoke_table[1]) in journal_init_revoke()
283 journal->j_revoke = journal->j_revoke_table[1]; in journal_init_revoke()
285 spin_lock_init(&journal->j_revoke_lock); in journal_init_revoke()
290 journal_destroy_revoke_table(journal->j_revoke_table[0]); in journal_init_revoke()
296 void journal_destroy_revoke(journal_t *journal) in journal_destroy_revoke() argument
298 journal->j_revoke = NULL; in journal_destroy_revoke()
299 if (journal->j_revoke_table[0]) in journal_destroy_revoke()
300 journal_destroy_revoke_table(journal->j_revoke_table[0]); in journal_destroy_revoke()
301 if (journal->j_revoke_table[1]) in journal_destroy_revoke()
302 journal_destroy_revoke_table(journal->j_revoke_table[1]); in journal_destroy_revoke()
336 journal_t *journal; in journal_revoke() local
344 journal = handle->h_transaction->t_journal; in journal_revoke()
345 if (!journal_set_features(journal, 0, 0, JFS_FEATURE_INCOMPAT_REVOKE)){ in journal_revoke()
350 bdev = journal->j_fs_dev; in journal_revoke()
354 bh = __find_get_block(bdev, blocknr, journal->j_blocksize); in journal_revoke()
364 bh2 = __find_get_block(bdev, blocknr, journal->j_blocksize); in journal_revoke()
402 err = insert_revoke_hash(journal, blocknr, in journal_revoke()
426 journal_t *journal = handle->h_transaction->t_journal; in journal_cancel_revoke() local
445 record = find_revoke_record(journal, bh->b_blocknr); in journal_cancel_revoke()
449 spin_lock(&journal->j_revoke_lock); in journal_cancel_revoke()
451 spin_unlock(&journal->j_revoke_lock); in journal_cancel_revoke()
459 record = find_revoke_record(journal, bh->b_blocknr); in journal_cancel_revoke()
484 void journal_clear_buffer_revoked_flags(journal_t *journal) in journal_clear_buffer_revoked_flags() argument
486 struct jbd_revoke_table_s *revoke = journal->j_revoke; in journal_clear_buffer_revoked_flags()
498 bh = __find_get_block(journal->j_fs_dev, in journal_clear_buffer_revoked_flags()
500 journal->j_blocksize); in journal_clear_buffer_revoked_flags()
513 void journal_switch_revoke_table(journal_t *journal) in journal_switch_revoke_table() argument
517 if (journal->j_revoke == journal->j_revoke_table[0]) in journal_switch_revoke_table()
518 journal->j_revoke = journal->j_revoke_table[1]; in journal_switch_revoke_table()
520 journal->j_revoke = journal->j_revoke_table[0]; in journal_switch_revoke_table()
522 for (i = 0; i < journal->j_revoke->hash_size; i++) in journal_switch_revoke_table()
523 INIT_LIST_HEAD(&journal->j_revoke->hash_table[i]); in journal_switch_revoke_table()
530 void journal_write_revoke_records(journal_t *journal, in journal_write_revoke_records() argument
544 revoke = journal->j_revoke == journal->j_revoke_table[0] ? in journal_write_revoke_records()
545 journal->j_revoke_table[1] : journal->j_revoke_table[0]; in journal_write_revoke_records()
553 write_one_revoke_record(journal, transaction, in journal_write_revoke_records()
562 flush_descriptor(journal, descriptor, offset, write_op); in journal_write_revoke_records()
571 static void write_one_revoke_record(journal_t *journal, in write_one_revoke_record() argument
586 if (is_journal_aborted(journal)) in write_one_revoke_record()
594 if (offset == journal->j_blocksize) { in write_one_revoke_record()
595 flush_descriptor(journal, descriptor, offset, write_op); in write_one_revoke_record()
601 descriptor = journal_get_descriptor_buffer(journal); in write_one_revoke_record()
630 static void flush_descriptor(journal_t *journal, in flush_descriptor() argument
637 if (is_journal_aborted(journal)) { in flush_descriptor()
673 int journal_set_revoke(journal_t *journal, in journal_set_revoke() argument
679 record = find_revoke_record(journal, blocknr); in journal_set_revoke()
687 return insert_revoke_hash(journal, blocknr, sequence); in journal_set_revoke()
697 int journal_test_revoke(journal_t *journal, in journal_test_revoke() argument
703 record = find_revoke_record(journal, blocknr); in journal_test_revoke()
716 void journal_clear_revoke(journal_t *journal) in journal_clear_revoke() argument
723 revoke = journal->j_revoke; in journal_clear_revoke()