/linux-master/drivers/md/dm-vdo/ |
H A D | recovery-journal.c | 6 #include "recovery-journal.h" 30 * The number of reserved blocks must be large enough to prevent a new recovery journal 32 * journal. Currently, that means reserving enough space for all 2048 data_vios. 40 * A lock_counter is intended to keep all of the locks for the blocks in the recovery journal. The 49 * Lock sets are laid out with the set for recovery journal first, followed by the logical zones, 61 * @journal: The recovery journal. 67 static inline atomic_t *get_zone_count_ptr(struct recovery_journal *journal, argument 72 ? &journal->lock_counter.logical_zone_counts[lock_number] 73 : &journal 85 get_counter(struct recovery_journal *journal, block_count_t lock_number, enum vdo_zone_type zone_type, zone_count_t zone_id) argument 101 get_decrement_counter(struct recovery_journal *journal, block_count_t lock_number) argument 114 is_journal_zone_locked(struct recovery_journal *journal, block_count_t lock_number) argument 138 vdo_release_recovery_journal_block_reference(struct recovery_journal *journal, sequence_number_t sequence_number, enum vdo_zone_type zone_type, zone_count_t zone_id) argument 200 pop_free_list(struct recovery_journal *journal) argument 254 assert_on_journal_thread(struct recovery_journal *journal, const char *function_name) argument 278 has_block_waiters(struct recovery_journal *journal) argument 319 is_read_only(struct recovery_journal *journal) argument 328 check_for_drain_complete(struct recovery_journal *journal) argument 392 enter_journal_read_only_mode(struct recovery_journal *journal, int error_code) argument 408 vdo_get_recovery_journal_current_sequence_number(struct recovery_journal *journal) argument 421 get_recovery_journal_head(const struct recovery_journal *journal) argument 442 check_slab_journal_commit_threshold(struct recovery_journal *journal) argument 460 finish_reaping(struct recovery_journal *journal) argument 483 struct recovery_journal *journal = completion->parent; local 497 struct recovery_journal *journal = completion->parent; local 507 struct recovery_journal *journal = vio->completion.parent; local 517 initialize_journal_state(struct recovery_journal *journal) argument 558 struct recovery_journal *journal = (struct recovery_journal *) completion->parent; local 587 initialize_lock_counter(struct recovery_journal *journal, struct vdo *vdo) argument 639 set_journal_tail(struct recovery_journal *journal, sequence_number_t tail) argument 656 initialize_recovery_block(struct vdo *vdo, struct recovery_journal *journal, struct recovery_journal_block *block) argument 709 struct recovery_journal *journal; local 783 vdo_free_recovery_journal(struct recovery_journal *journal) argument 828 vdo_initialize_recovery_journal_post_repair(struct recovery_journal *journal, u64 recovery_count, sequence_number_t tail, block_count_t logical_blocks_used, block_count_t block_map_data_blocks) argument 848 vdo_get_journal_block_map_data_blocks_used(struct recovery_journal *journal) argument 859 vdo_get_recovery_journal_thread_id(struct recovery_journal *journal) argument 870 vdo_open_recovery_journal(struct recovery_journal *journal, struct slab_depot *depot, struct block_map *block_map) argument 886 vdo_record_recovery_journal(const struct recovery_journal *journal) argument 941 advance_tail(struct recovery_journal *journal) argument 985 initialize_lock_count(struct recovery_journal *journal) argument 1005 prepare_to_assign_entry(struct recovery_journal *journal) argument 1043 schedule_block_write(struct recovery_journal *journal, struct recovery_journal_block *block) argument 1065 update_usages(struct recovery_journal *journal, struct data_vio *data_vio) argument 1088 struct recovery_journal *journal = block->journal; local 1119 assign_entries(struct recovery_journal *journal) argument 1145 struct recovery_journal *journal = block->journal; local 1174 struct recovery_journal *journal = context; local 1209 notify_commit_waiters(struct recovery_journal *journal) argument 1234 recycle_journal_blocks(struct recovery_journal *journal) argument 1267 struct recovery_journal *journal = block->journal; local 1305 struct recovery_journal *journal = block->journal; local 1319 struct recovery_journal *journal = block->journal; local 1372 struct recovery_journal *journal = block->journal; local 1407 write_blocks(struct recovery_journal *journal) argument 1445 vdo_add_recovery_journal_entry(struct recovery_journal *journal, struct data_vio *data_vio) argument 1478 is_lock_locked(struct recovery_journal *journal, block_count_t lock_number, enum vdo_zone_type zone_type) argument 1498 reap_recovery_journal(struct recovery_journal *journal) argument 1556 vdo_acquire_recovery_journal_block_reference(struct recovery_journal *journal, sequence_number_t sequence_number, enum vdo_zone_type zone_type, zone_count_t zone_id) argument 1595 vdo_release_journal_entry_lock(struct recovery_journal *journal, sequence_number_t sequence_number) argument 1632 vdo_drain_recovery_journal(struct recovery_journal *journal, const struct admin_state_code *operation, struct vdo_completion *parent) argument 1668 vdo_resume_recovery_journal(struct recovery_journal *journal, struct vdo_completion *parent) argument 1699 vdo_get_recovery_journal_logical_blocks_used(const struct recovery_journal *journal) argument 1711 vdo_get_recovery_journal_statistics(const struct recovery_journal *journal) argument 1734 vdo_dump_recovery_journal_statistics(const struct recovery_journal *journal) argument [all...] |
H A D | recovery-journal.h | 22 * DOC: recovery journal. 26 * write amplification of writes by providing amortization of slab journal and block map page 29 * The recovery journal has a single dedicated queue and thread for performing all journal updates. 31 * fine-grained locking for recovery journal structures. 33 * The journal consists of a set of on-disk blocks arranged as a circular log with monotonically 35 * journal. The 'head' is the oldest active block in the journal. The 'tail' is the end of the 37 * receiving entries. In an empty journal, head == active == tail. Once any entries are added, tail 40 * The journal als 122 struct recovery_journal *journal; member in struct:recovery_journal_block 229 vdo_get_recovery_journal_block_number(const struct recovery_journal *journal, sequence_number_t sequence) argument 247 vdo_compute_recovery_journal_check_byte(const struct recovery_journal *journal, sequence_number_t sequence) argument [all...] |
H A D | slab-depot.c | 30 #include "recovery-journal.h" 42 * get_lock() - Get the lock object for a slab journal block by sequence number. 43 * @journal: vdo_slab journal to retrieve from. 48 static inline struct journal_lock * __must_check get_lock(struct slab_journal *journal, argument 51 return &journal->locks[sequence_number % journal->size]; 62 * @journal: The journal to check. 66 static inline bool __must_check must_make_entries_to_flush(struct slab_journal *journal) argument 78 is_reaping(struct slab_journal *journal) argument 87 initialize_tail_block(struct slab_journal *journal) argument 100 initialize_journal_state(struct slab_journal *journal) argument 115 block_is_full(struct slab_journal *journal) argument 147 mark_slab_journal_dirty(struct slab_journal *journal, sequence_number_t lock) argument 163 mark_slab_journal_clean(struct slab_journal *journal) argument 172 struct slab_journal *journal = &slab->journal; local 399 finish_reaping(struct slab_journal *journal) argument 415 struct slab_journal *journal = completion->parent; local 437 struct slab_journal *journal = vio->completion.parent; local 451 struct slab_journal *journal = local 464 reap_slab_journal(struct slab_journal *journal) argument 521 adjust_slab_journal_block_reference(struct slab_journal *journal, sequence_number_t sequence_number, int adjustment) argument 561 struct slab_journal *journal = local 622 update_tail_block_location(struct slab_journal *journal) argument 661 struct slab_journal *journal = &slab->journal; local 697 struct slab_journal *journal = completion->parent; local 730 struct slab_journal *journal = vio->completion.parent; local 746 struct slab_journal *journal = local 803 commit_tail(struct slab_journal *journal) argument 903 add_entry(struct slab_journal *journal, physical_block_number_t pbn, enum journal_operation operation, bool increment, struct journal_point recovery_point) argument 940 journal_length(const struct slab_journal *journal) argument 962 struct slab_journal *journal = &slab->journal; local 1009 requires_reaping(const struct slab_journal *journal) argument 1220 reclaim_journal_space(struct slab_journal *journal) argument 1695 struct slab_journal *journal = context; local 1753 is_next_entry_a_block_map_increment(struct slab_journal *journal) argument 1769 add_entries(struct slab_journal *journal) argument 2411 struct slab_journal *journal = completion->parent; local 2440 struct slab_journal *journal = vio->completion.parent; local 2449 struct slab_journal *journal = completion->parent; local 2467 struct slab_journal *journal = local 2495 struct slab_journal *journal = &slab->journal; local 2828 struct slab_journal *journal = &slab->journal; local 3534 struct slab_journal *journal; local 3586 struct slab_journal *journal = &slab->journal; local 3660 struct slab_journal *journal = &slab->journal; local 3849 release_recovery_journal_lock(struct slab_journal *journal, sequence_number_t recovery_lock) argument 3876 struct slab_journal *journal, *tmp; local [all...] |
/linux-master/fs/jbd2/ |
H A D | journal.c | 3 * linux/fs/jbd2/journal.c 9 * Generic filesystem journal-writing code; part of the ext2fs 16 * We do not actually manage the physical storage of the journal in this 17 * file: that is left to a per-journal policy function, which allows us 18 * to store the journal within a filesystem-specified area for ext2 137 journal_t *journal = from_timer(journal, t, j_commit_timer); local 139 wake_up_process(journal->j_task); 144 * journal. 149 * filesystem to disk. The journal threa 162 journal_t *journal = arg; local 264 jbd2_journal_start_thread(journal_t *journal) argument 277 journal_kill_thread(journal_t *journal) argument 339 journal_t *journal = transaction->t_journal; local 469 __jbd2_log_start_commit(journal_t *journal, tid_t target) argument 506 jbd2_log_start_commit(journal_t *journal, tid_t tid) argument 523 __jbd2_journal_force_commit(journal_t *journal) argument 563 jbd2_journal_force_commit_nested(journal_t *journal) argument 578 jbd2_journal_force_commit(journal_t *journal) argument 594 jbd2_journal_start_commit(journal_t *journal, tid_t *ptid) argument 627 jbd2_trans_will_send_data_barrier(journal_t *journal, tid_t tid) argument 666 jbd2_log_wait_commit(journal_t *journal, tid_t tid) argument 715 jbd2_fc_begin_commit(journal_t *journal, tid_t tid) argument 755 __jbd2_fc_end_commit(journal_t *journal, tid_t tid, bool fallback) argument 771 jbd2_fc_end_commit(journal_t *journal) argument 777 jbd2_fc_end_commit_fallback(journal_t *journal) argument 790 jbd2_transaction_committed(journal_t *journal, tid_t tid) argument 813 jbd2_complete_transaction(journal_t *journal, tid_t tid) argument 841 jbd2_journal_next_log_block(journal_t *journal, unsigned long long *retp) argument 858 jbd2_fc_get_buf(journal_t *journal, struct buffer_head **bh_out) argument 900 jbd2_fc_wait_bufs(journal_t *journal, int num_blks) argument 930 jbd2_fc_release_bufs(journal_t *journal) argument 956 jbd2_journal_bmap(journal_t *journal, unsigned long blocknr, unsigned long long *retp) argument 999 journal_t *journal = transaction->t_journal; local 1051 jbd2_journal_get_log_tail(journal_t *journal, tid_t *tid, unsigned long *block) argument 1090 __jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block) argument 1132 jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block) argument 1141 journal_t *journal; member in struct:jbd2_stats_proc_session 1208 journal_t *journal = pde_data(inode); local 1256 jbd2_stats_proc_init(journal_t *journal) argument 1265 jbd2_stats_proc_exit(journal_t *journal) argument 1292 journal_t *journal = shrink->private_data; local 1318 journal_t *journal = shrink->private_data; local 1332 journal_fail_superblock(journal_t *journal) argument 1343 journal_check_superblock(journal_t *journal) argument 1439 journal_revoke_records_per_block(journal_t *journal) argument 1458 journal_load_superblock(journal_t *journal) argument 1524 journal_t *journal; local 1647 journal_t *journal; local 1671 journal_t *journal; local 1708 journal_reset(journal_t *journal) argument 1788 jbd2_write_superblock(journal_t *journal, blk_opf_t write_flags) argument 1856 jbd2_journal_update_sb_log_tail(journal_t *journal, tid_t tail_tid, unsigned long tail_block, blk_opf_t write_flags) argument 1900 jbd2_mark_journal_empty(journal_t *journal, blk_opf_t write_flags) argument 1950 __jbd2_journal_erase(journal_t *journal, unsigned int flags) argument 2047 jbd2_journal_update_sb_errno(journal_t *journal) argument 2071 jbd2_journal_load(journal_t *journal) argument 2124 jbd2_journal_destroy(journal_t *journal) argument 2217 jbd2_journal_check_used_features(journal_t *journal, unsigned long compat, unsigned long ro, unsigned long incompat) argument 2248 jbd2_journal_check_available_features(journal_t *journal, unsigned long compat, unsigned long ro, unsigned long incompat) argument 2266 jbd2_journal_initialize_fast_commit(journal_t *journal) argument 2306 jbd2_journal_set_features(journal_t *journal, unsigned long compat, unsigned long ro, unsigned long incompat) argument 2396 jbd2_journal_clear_features(journal_t *journal, unsigned long compat, unsigned long ro, unsigned long incompat) argument 2428 jbd2_journal_flush(journal_t *journal, unsigned int flags) argument 2511 jbd2_journal_wipe(journal_t *journal, int write) argument 2575 jbd2_journal_abort(journal_t *journal, int errno) argument 2636 jbd2_journal_errno(journal_t *journal) argument 2656 jbd2_journal_clear_err(journal_t *journal) argument 2676 jbd2_journal_ack_err(journal_t *journal) argument 2692 journal_tag_bytes(journal_t *journal) argument 3040 jbd2_journal_release_jbd_inode(journal_t *journal, struct jbd2_inode *jinode) argument [all...] |
H A D | checkpoint.c | 44 * __jbd2_log_wait_for_space: wait until there is space in the journal. 49 void __jbd2_log_wait_for_space(journal_t *journal) 50 __acquires(&journal->j_state_lock) 51 __releases(&journal->j_state_lock) 54 /* assert_spin_locked(&journal->j_state_lock); */ 56 nblocks = journal->j_max_transaction_buffers; 57 while (jbd2_log_space_left(journal) < nblocks) { 58 write_unlock(&journal->j_state_lock); 59 mutex_lock_io(&journal->j_checkpoint_mutex); 65 * journal spac 88 jbd2_log_do_checkpoint(journal); variable 121 __flush_batch(journal_t *journal, int *batch_count) argument 148 jbd2_log_do_checkpoint(journal_t *journal) argument 311 jbd2_cleanup_journal_tail(journal_t *journal) argument 403 jbd2_journal_shrink_checkpoint_list(journal_t *journal, unsigned long *nr_to_scan) argument 479 __jbd2_journal_clean_checkpoint_list(journal_t *journal, bool destroy) argument 518 jbd2_journal_destroy_checkpoint(journal_t *journal) argument 558 journal_t *journal; local 679 __jbd2_journal_drop_transaction(journal_t *journal, transaction_t *transaction) argument [all...] |
H A D | revoke.c | 17 * transaction's revoked blocks to the journal 34 * need either to cancel the journal entry or to write the revoke 62 * running transaction (is pointed to by journal->j_revoke), the other one 99 journal replay, this involves recording the transaction ID of the 131 static inline int hash(journal_t *journal, unsigned long long block) argument 133 return hash_64(block, journal->j_revoke->hash_shift); 136 static int insert_revoke_hash(journal_t *journal, unsigned long long blocknr, argument 151 hash_list = &journal->j_revoke->hash_table[hash(journal, blocknr)]; 152 spin_lock(&journal 160 find_revoke_record(journal_t *journal, unsigned long long blocknr) argument 263 jbd2_journal_init_revoke(journal_t *journal, int hash_size) argument 290 jbd2_journal_destroy_revoke(journal_t *journal) argument 330 journal_t *journal; local 426 journal_t *journal = handle->h_transaction->t_journal; local 484 jbd2_clear_buffer_revoked_flags(journal_t *journal) argument 513 jbd2_journal_switch_revoke_table(journal_t *journal) argument 533 journal_t *journal = transaction->t_journal; local 577 journal_t *journal = transaction->t_journal; local 641 flush_descriptor(journal_t *journal, struct buffer_head *descriptor, int offset) argument 683 jbd2_journal_set_revoke(journal_t *journal, unsigned long long blocknr, tid_t sequence) argument 707 jbd2_journal_test_revoke(journal_t *journal, unsigned long long blocknr, tid_t sequence) argument 726 jbd2_journal_clear_revoke(journal_t *journal) argument [all...] |
H A D | commit.c | 30 * IO end handler for temporary buffer_heads handling writes to the journal. 109 * mode we can now just skip the rest of the journal write 112 * Returns 1 if the journal needs to be aborted or 0 on success 114 static int journal_submit_commit_record(journal_t *journal, argument 126 if (is_journal_aborted(journal)) 139 if (jbd2_has_feature_checksum(journal)) { 144 jbd2_commit_block_csum_set(journal, bh); 152 if (journal->j_flags & JBD2_BARRIER && 153 !jbd2_has_feature_async_commit(journal)) 165 static int journal_wait_on_commit_record(journal_t *journal, argument 181 jbd2_submit_inode_data(journal_t *journal, struct jbd2_inode *jinode) argument 192 jbd2_wait_inode_data(journal_t *journal, struct jbd2_inode *jinode) argument 211 journal_submit_data_buffers(journal_t *journal, transaction_t *commit_transaction) argument 254 journal_finish_inode_data_buffers(journal_t *journal, transaction_t *commit_transaction) argument 348 jbd2_journal_commit_transaction(journal_t *journal) argument [all...] |
H A D | recovery.c | 39 static int do_one_pass(journal_t *journal, 55 * When reading from the journal, we are going through the block device 67 static int do_readahead(journal_t *journal, unsigned int start) argument 77 max = start + (128 * 1024 / journal->j_blocksize); 78 if (max > journal->j_total_len) 79 max = journal->j_total_len; 87 err = jbd2_journal_bmap(journal, next, &blocknr); 95 bh = __getblk(journal->j_dev, blocknr, journal->j_blocksize); 126 * Read a block from the journal 129 jread(struct buffer_head **bhp, journal_t *journal, unsigned int offset) argument 202 count_tags(journal_t *journal, struct buffer_head *bh) argument 237 fc_do_one_pass(journal_t *journal, struct recovery_info *info, enum passtype pass) argument 286 jbd2_journal_recover(journal_t *journal) argument 357 jbd2_journal_skip_recovery(journal_t *journal) argument 387 read_tag_block(journal_t *journal, journal_block_tag_t *tag) argument 400 calc_chksums(journal_t *journal, struct buffer_head *bh, unsigned long *next_log_block, __u32 *crc32_sum) argument 466 do_one_pass(journal_t *journal, struct recovery_info *info, enum passtype pass) argument 909 scan_revoke_records(journal_t *journal, struct buffer_head *bh, tid_t sequence, struct recovery_info *info) argument [all...] |
H A D | transaction.c | 68 static int jbd2_descriptor_blocks_per_trans(journal_t *journal) argument 70 int tag_space = journal->j_blocksize - sizeof(journal_header_t); 75 if (jbd2_journal_has_csum_v2or3(journal)) 78 tags_per_block = (tag_space - 16) / journal_tag_bytes(journal); 83 return 1 + DIV_ROUND_UP(journal->j_max_transaction_buffers, 91 * RUNNING state and add it to the current journal (which should not 96 * The journal MUST be locked. We don't perform atomic mallocs on the 98 * processes trying to touch the journal while it is in transition. 102 static void jbd2_get_transaction(journal_t *journal, argument 105 transaction->t_journal = journal; 177 jbd2_might_wait_for_commit(journal); variable 210 sub_reserved_credits(journal_t *journal, int blocks) argument 241 wait_transaction_locked(journal); variable 267 jbd2_might_wait_for_commit(journal); variable 275 wait_transaction_locked(journal); variable 294 jbd2_might_wait_for_commit(journal); variable 298 __jbd2_log_wait_for_space(journal); variable 314 jbd2_might_wait_for_commit(journal); variable 331 start_this_handle(journal_t *journal, handle_t *handle, gfp_t gfp_mask) argument 485 jbd2__journal_start(journal_t *journal, int nblocks, int rsv_blocks, int revoke_records, gfp_t gfp_mask, unsigned int type, unsigned int line_no) argument 557 jbd2_journal_start(journal_t *journal, int nblocks) argument 565 journal_t *journal = handle->h_journal; local 575 journal_t *journal = handle->h_journal; local 602 journal_t *journal = handle->h_journal; local 663 journal_t *journal; local 719 journal_t *journal = transaction->t_journal; local 782 journal_t *journal; local 835 jbd2_journal_wait_updates(journal_t *journal) argument 878 jbd2_journal_lock_updates(journal_t *journal) argument 915 jbd2_journal_unlock_updates(journal_t *journal) argument 971 journal_t *journal; local 1234 journal_t *journal; local 1288 journal_t *journal; local 1503 journal_t *journal; local 1675 journal_t *journal; local 1842 journal_t *journal; local 2097 jbd2_journal_unfile_buffer(journal_t *journal, struct journal_head *jh) argument 2146 jbd2_journal_try_to_free_buffers(journal_t *journal, struct folio *folio) argument 2270 journal_unmap_buffer(journal_t *journal, struct buffer_head *bh, int partial_page) argument 2447 jbd2_journal_invalidate_folio(journal_t *journal, struct folio *folio, size_t offset, size_t length) argument 2646 jbd2_journal_refile_buffer(journal_t *journal, struct journal_head *jh) argument 2666 journal_t *journal; local 2752 jbd2_journal_begin_ordered_truncate(journal_t *journal, struct jbd2_inode *jinode, loff_t new_size) argument [all...] |
H A D | Makefile | 8 jbd2-objs := transaction.o commit.o recovery.o checkpoint.o revoke.o journal.o
|
/linux-master/fs/bcachefs/ |
H A D | journal_reclaim.h | 7 static inline void journal_reclaim_kick(struct journal *j) 16 unsigned bch2_journal_dev_buckets_available(struct journal *, 19 void bch2_journal_set_watermark(struct journal *); 20 void bch2_journal_space_available(struct journal *); 28 journal_seq_pin(struct journal *j, u64 seq) 35 void bch2_journal_reclaim_fast(struct journal *); 36 bool __bch2_journal_pin_put(struct journal *, u64); 37 void bch2_journal_pin_put(struct journal *, u64); 38 void bch2_journal_pin_drop(struct journal *, struct journal_entry_pin *); 40 void bch2_journal_pin_set(struct journal *, u6 [all...] |
H A D | journal.h | 8 * The primary purpose of the journal is to log updates (insertions) to the 11 * Without the journal, the b-tree is always internally consistent on 12 * disk - and in fact, in the earliest incarnations bcache didn't have a journal 16 * Updates to interior nodes still happen synchronously and without the journal 20 * This means the journal is relatively separate from the b-tree; it consists of 21 * just a list of keys and journal replay consists of just redoing those 22 * insertions in same order that they appear in the journal. 27 * disk), the journal entry will be written out immediately (or as soon as 28 * possible, if the write for the previous journal entry was still in flight). 32 * down to the journalling code. That closure will wait on the journal writ [all...] |
H A D | journal_sb.c | 23 struct bch_sb_field_journal *journal = field_to_type(f, journal); local 30 nr = bch2_nr_journal_buckets(journal); 39 b[i] = le64_to_cpu(journal->buckets[i]); 44 prt_printf(err, "journal bucket at sector 0"); 49 prt_printf(err, "journal bucket %llu before first bucket %u", 55 prt_printf(err, "journal bucket %llu past end of device (nbuckets %llu)", 62 prt_printf(err, "duplicate journal buckets %llu", b[i]); 75 struct bch_sb_field_journal *journal = field_to_type(f, journal); local 106 struct bch_sb_field_journal_v2 *journal = field_to_type(f, journal_v2); local 162 struct bch_sb_field_journal_v2 *journal = field_to_type(f, journal_v2); local [all...] |
H A D | journal_reclaim.c | 10 #include "journal.h" 37 unsigned bch2_journal_dev_buckets_available(struct journal *j, 54 void bch2_journal_set_watermark(struct journal *j) 56 struct bch_fs *c = container_of(j, struct bch_fs, journal); 78 journal_dev_space_available(struct journal *j, struct bch_dev *ca, 81 struct journal_device *ja = &ca->journal; 95 * We that we don't allocate the space for a journal entry 134 static struct journal_space __journal_space_available(struct journal *j, unsigned nr_devs_want, 137 struct bch_fs *c = container_of(j, struct bch_fs, journal); 145 if (!ca->journal [all...] |
H A D | journal.c | 16 #include "journal.h" 30 static inline bool journal_seq_unwritten(struct journal *j, u64 seq) 40 static inline unsigned nr_unwritten_journal_entries(struct journal *j) 45 static bool journal_entry_is_open(struct journal *j) 50 static void bch2_journal_buf_to_text(struct printbuf *out, struct journal *j, u64 seq) 98 static void bch2_journal_bufs_to_text(struct printbuf *out, struct journal *j) 111 journal_seq_to_buf(struct journal *j, u64 seq) 136 * Detect stuck journal conditions and trigger shutdown. Technically the journal 137 * can end up stuck for a variety of reasons, such as a blocked I/O, journal [all...] |
/linux-master/fs/reiserfs/ |
H A D | journal.c | 75 /* journal list state bits */ 93 static void release_journal_dev(struct reiserfs_journal *journal); 101 JBEGIN_REG = 0, /* regular journal begin */ 114 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 115 memset(journal->j_hash_table, 0, 156 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 158 struct list_head *entry = journal->j_bitmap_nodes.next; 160 journal->j_used_bitmap_nodes++; 163 if (entry != &journal->j_bitmap_nodes) { 167 journal 180 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 194 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 257 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 313 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 369 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 396 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 462 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 578 struct reiserfs_journal *journal = SB_JOURNAL(s); local 883 struct reiserfs_journal *journal = SB_JOURNAL(s); local 976 struct reiserfs_journal *journal = SB_JOURNAL(s); local 1199 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 1239 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 1301 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 1328 struct reiserfs_journal *journal = SB_JOURNAL(s); local 1355 struct reiserfs_journal *journal = SB_JOURNAL(s); local 1726 struct reiserfs_journal *journal = SB_JOURNAL(s); local 1794 struct reiserfs_journal *journal = SB_JOURNAL(s); local 1881 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 1907 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 2114 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 2372 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 2589 release_journal_dev(struct reiserfs_journal *journal) argument 2597 journal_init_dev(struct super_block *super, struct reiserfs_journal *journal, const char *jdev_name) argument 2667 check_advise_trans_params(struct super_block *sb, struct reiserfs_journal *journal) argument 2719 struct reiserfs_journal *journal; local 2921 struct reiserfs_journal *journal = SB_JOURNAL(th->t_super); local 2943 struct reiserfs_journal *journal = SB_JOURNAL(th->t_super); local 2953 struct reiserfs_journal *journal = SB_JOURNAL(s); local 2961 struct reiserfs_journal *journal = SB_JOURNAL(s); local 2969 struct reiserfs_journal *journal = SB_JOURNAL(s); local 2990 struct reiserfs_journal *journal = SB_JOURNAL(s); local 2997 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3033 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3283 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3432 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3526 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3542 struct reiserfs_journal *journal = local 3566 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3624 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3743 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3833 struct reiserfs_journal *journal = SB_JOURNAL(inode->i_sb); local 3847 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3927 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 3987 struct reiserfs_journal *journal = SB_JOURNAL(sb); local 4392 struct reiserfs_journal *journal = SB_JOURNAL(sb); local [all...] |
/linux-master/drivers/md/bcache/ |
H A D | journal.c | 18 * This code is all driven from run_cache_set(); we first read the journal 19 * entries, do some other stuff, then we mark all the keys in the journal 22 * journal. 24 * We only journal keys that go in leaf nodes, which simplifies things quite a 38 struct journal_device *ja = &ca->journal; 42 struct jset *j, *data = ca->set->journal.w[0].data; 68 * journal entries that overlap bucket boundaries; this means 69 * the start of a bucket will always have a valid journal entry 70 * if it has any journal entries at all. 104 * journal se [all...] |
H A D | journal.h | 8 * The journal is treated as a circular buffer of buckets - a journal entry 10 * journal at runtime, and will be needed for bcache on raw flash support. 13 * inserted; thus journal replay just has to reinsert the keys. 15 * We also keep some things in the journal header that are logically part of the 18 * journal) can't be moved or wear leveled, so it contains just enough 19 * information to find the main journal, and the superblock only has to be 20 * rewritten when we want to move/wear level the main journal. 22 * Currently, we don't journal BTREE_REPLACE operations - this will hopefully be 31 * Each journal entr 104 struct journal { struct [all...] |
H A D | Makefile | 6 journal.o movinggc.o request.o stats.o super.o sysfs.o trace.o\
|
/linux-master/fs/ocfs2/ |
H A D | journal.c | 3 * journal.c 31 #include "journal.h" 62 static void ocfs2_queue_recovery_completion(struct ocfs2_journal *journal, 155 ocfs2_queue_recovery_completion(osb->journal, i, NULL, 294 struct ocfs2_journal *journal = NULL; local 296 journal = osb->journal; 298 /* Flush all pending commits and checkpoint the journal. */ 299 down_write(&journal->j_trans_barrier); 301 flushed = atomic_read(&journal 333 journal_t *journal = osb->journal->j_journal; local 375 struct ocfs2_journal *journal = osb->journal; local 779 journal_t *journal = handle->h_transaction->t_journal; local 796 journal_t *journal = osb->journal->j_journal; local 818 struct ocfs2_journal *journal; local 860 struct ocfs2_journal *journal = osb->journal; local 964 struct ocfs2_journal *journal = osb->journal; local 999 struct ocfs2_journal *journal = NULL; local 1076 ocfs2_clear_journal_error(struct super_block *sb, journal_t *journal, int slot) argument 1094 ocfs2_journal_load(struct ocfs2_journal *journal, int local, int replayed) argument 1146 ocfs2_journal_wipe(struct ocfs2_journal *journal, int full) argument 1262 struct ocfs2_journal *journal = local 1333 ocfs2_queue_recovery_completion(struct ocfs2_journal *journal, int slot_num, struct ocfs2_dinode *la_dinode, struct ocfs2_dinode *tl_dinode, struct ocfs2_quota_recovery *qrec, enum ocfs2_orphan_reco_type orphan_reco_type) argument 1374 struct ocfs2_journal *journal = osb->journal; local 1617 journal_t *journal = NULL; local 2331 struct ocfs2_journal *journal = osb->journal; local [all...] |
H A D | journal.h | 3 * journal.h 39 journal_t *j_journal; /* The kernels journal type */ 41 * this journal */ 78 static inline void ocfs2_set_ci_lock_trans(struct ocfs2_journal *journal, argument 82 ci->ci_last_trans = journal->j_trans_id; 94 struct ocfs2_journal *journal = local 95 OCFS2_SB(ocfs2_metadata_cache_get_super(ci))->journal; 98 ret = time_after(journal->j_trans_id, ci->ci_last_trans); 110 struct ocfs2_journal *journal = local 111 OCFS2_SB(ocfs2_metadata_cache_get_super(ci))->journal; [all...] |
/linux-master/include/linux/ |
H A D | jbd2.h | 24 #include <linux/journal-head.h> 156 * field is used to store crc32c(uuid+commit_block). Each journal metadata 180 * The block tag: used to describe a single buffer in the journal. 183 * journal_tag_bytes(journal) instead to compute this. 216 /* Definitions for the journal tag flags word: */ 224 * The journal superblock. All fields are in big-endian byte order. 232 /* Static information describing the journal */ 233 __be32 s_blocksize; /* journal device blocksize */ 234 __be32 s_maxlen; /* total blocks in journal file */ 252 __u8 s_uuid[16]; /* 128-bit uuid for journal */ 1665 jbd2_journal_get_max_txn_bufs(journal_t *journal) argument 1680 is_journal_aborted(journal_t *journal) argument 1697 jbd2_init_fs_dev_write_error(journal_t *journal) argument 1708 jbd2_check_fs_dev_write_error(journal_t *journal) argument 1741 jbd2_journal_has_csum_v2or3(journal_t *journal) argument 1759 jbd2_log_space_left(journal_t *journal) argument 1786 jbd2_chksum(journal_t *journal, u32 crc, const void *address, unsigned int length) argument 1808 jbd2_get_latest_transaction(journal_t *journal) argument 1822 journal_t *journal; local [all...] |
/linux-master/include/trace/events/ |
H A D | jbd2.h | 16 TP_PROTO(journal_t *journal, int result), 18 TP_ARGS(journal, result), 26 __entry->dev = journal->j_fs_dev->bd_dev; 36 TP_PROTO(journal_t *journal, transaction_t *commit_transaction), 38 TP_ARGS(journal, commit_transaction), 47 __entry->dev = journal->j_fs_dev->bd_dev; 59 TP_PROTO(journal_t *journal, transaction_t *commit_transaction), 61 TP_ARGS(journal, commit_transaction) 66 TP_PROTO(journal_t *journal, transaction_t *commit_transaction), 68 TP_ARGS(journal, commit_transactio [all...] |
/linux-master/fs/ext4/ |
H A D | fsync.c | 101 journal_t *journal = EXT4_SB(inode->i_sb)->s_journal; local 111 if (journal->j_flags & JBD2_BARRIER && 112 !jbd2_trans_will_send_data_barrier(journal, commit_tid)) 115 return ext4_fc_commit(journal, commit_tid); 164 * Metadata is in the journal, we wait for proper transaction to
|
H A D | ext4_jbd2.c | 23 return EXT4_INODE_JOURNAL_DATA_MODE; /* journal data */ 66 journal_t *journal; local 77 journal = EXT4_SB(sb)->s_journal; 79 * Special case here: if the journal has aborted behind our 83 if (journal && is_journal_aborted(journal)) { 84 ext4_abort(sb, -journal->j_errno, "Detected aborted journal"); 95 journal_t *journal; local 109 journal [all...] |