| /linux/fs/jbd2/ |
| H A D | journal.c | 136 journal_t *journal = timer_container_of(journal, t, j_commit_timer); in commit_timeout() local 138 wake_up_process(journal->j_task); in commit_timeout() 161 journal_t *journal = arg; in kjournald2() local 168 timer_setup(&journal->j_commit_timer, commit_timeout, 0); in kjournald2() 173 journal->j_task = current; in kjournald2() 174 wake_up(&journal->j_wait_done_commit); in kjournald2() 187 write_lock(&journal->j_state_lock); in kjournald2() 190 if (journal->j_flags & JBD2_UNMOUNT) in kjournald2() 194 journal->j_commit_sequence, journal->j_commit_request); in kjournald2() 196 if (journal->j_commit_sequence != journal->j_commit_request) { in kjournald2() [all …]
|
| H A D | checkpoint.c | 49 void __jbd2_log_wait_for_space(journal_t *journal) in __jbd2_log_wait_for_space() argument 50 __acquires(&journal->j_state_lock) in __jbd2_log_wait_for_space() 51 __releases(&journal->j_state_lock) in __jbd2_log_wait_for_space() 56 nblocks = journal->j_max_transaction_buffers; in __jbd2_log_wait_for_space() 57 while (jbd2_log_space_left(journal) < nblocks) { in __jbd2_log_wait_for_space() 58 write_unlock(&journal->j_state_lock); in __jbd2_log_wait_for_space() 59 mutex_lock_io(&journal->j_checkpoint_mutex); in __jbd2_log_wait_for_space() 72 write_lock(&journal->j_state_lock); in __jbd2_log_wait_for_space() 73 if (journal->j_flags & JBD2_ABORT) { in __jbd2_log_wait_for_space() 74 mutex_unlock(&journal->j_checkpoint_mutex); in __jbd2_log_wait_for_space() [all …]
|
| H A D | Makefile | 8 jbd2-objs := transaction.o commit.o recovery.o checkpoint.o revoke.o journal.o
|
| /linux/drivers/md/dm-vdo/ |
| H A D | recovery-journal.h | 122 struct recovery_journal *journal; member 229 vdo_get_recovery_journal_block_number(const struct recovery_journal *journal, in vdo_get_recovery_journal_block_number() argument 236 return vdo_compute_recovery_journal_block_number(journal->size, sequence); in vdo_get_recovery_journal_block_number() 247 vdo_compute_recovery_journal_check_byte(const struct recovery_journal *journal, in vdo_compute_recovery_journal_check_byte() argument 251 return (((sequence / journal->size) & 0x7F) | 0x80); in vdo_compute_recovery_journal_check_byte() 261 void vdo_free_recovery_journal(struct recovery_journal *journal); 263 void vdo_initialize_recovery_journal_post_repair(struct recovery_journal *journal, 270 vdo_get_journal_block_map_data_blocks_used(struct recovery_journal *journal); 272 thread_id_t __must_check vdo_get_recovery_journal_thread_id(struct recovery_journal *journal); 274 void vdo_open_recovery_journal(struct recovery_journal *journal, [all …]
|
| H A D | Makefile | 32 recovery-journal.o \
|
| /linux/include/linux/ |
| H A D | jbd2.h | 1291 void (*j_fc_cleanup_callback)(struct journal_s *journal, int full, tid_t tid); 1304 int (*j_fc_replay_callback)(struct journal_s *journal, 1315 int (*j_bmap)(struct journal_s *journal, sector_t *block); 1444 int jbd2_journal_get_log_tail(journal_t *journal, tid_t *tid, 1446 int __jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block); 1447 void jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block); 1455 void __jbd2_journal_clean_checkpoint_list(journal_t *journal, enum jbd2_shrink_type type); 1456 unsigned long jbd2_journal_shrink_checkpoint_list(journal_t *journal, unsigned long *nr_to_scan); 1459 void jbd2_journal_destroy_checkpoint(journal_t *journal); 1546 bool jbd2_journal_try_to_free_buffers(journal_t *journal, struct folio *folio); [all …]
|
| /linux/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_transaction) [all …]
|
| /linux/Documentation/filesystems/ext4/ |
| H A D | journal.rst | 6 Introduced in ext3, the ext4 filesystem employs a journal to protect the 8 to 10,240,000 file system blocks (see man mke2fs(8) for more details on journal 12 cache, a record of the data being committed is also written to the journal. At 13 some later point in time, the journal code writes the transactions to their 16 crash during the second slow write, the journal can be replayed all the 18 gets written through the journal to the disk. The effect of this is to 23 through the journal. This means that file data blocks are /not/ 26 option to control journal behavior. If ``data=journal``, all data and 27 metadata are written to disk through the journal. This is slower but 29 disk before the metadata are written to disk through the journal. [all …]
|
| /linux/Documentation/filesystems/ |
| H A D | journalling.rst | 12 how you decide to allocate the physical media on which the journal 15 for journal stored on a raw device (in a continuous range of blocks). A 21 journal file. The journalling layer expects the space for the journal 23 When loading the journal you must call jbd2_journal_load() to process 24 journal contents. If the client file system detects the journal contents 26 may call jbd2_journal_wipe() to clear the journal contents before 31 transactions in the journal and similarly jbd2_journal_load() will 38 You still need to actually journal your filesystem changes, this is done 40 the modification of each of the buffers with calls to the journal layer, 70 jbd2_journal_destroy() to clean up your in-core journal object. [all …]
|
| H A D | ntfs3.rst | 15 - Supports native journal replaying. 114 - Full journaling support over JBD. Currently journal replaying is supported
|
| H A D | ocfs2.rst | 70 journal. 73 committed to the journal.
|
| /linux/fs/ext4/ |
| H A D | ext4_jbd2.c | 75 journal_t *journal; in ext4_journal_check_start() local 87 journal = EXT4_SB(sb)->s_journal; in ext4_journal_check_start() 93 if (journal && is_journal_aborted(journal)) { in ext4_journal_check_start() 94 ext4_abort(sb, -journal->j_errno, "Detected aborted journal"); in ext4_journal_check_start() 105 journal_t *journal; in __ext4_journal_start_sb() local 119 journal = EXT4_SB(sb)->s_journal; in __ext4_journal_start_sb() 120 if (!journal || (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)) in __ext4_journal_start_sb() 122 return jbd2__journal_start(journal, blocks, rsv_blocks, revoke_creds, in __ext4_journal_start_sb()
|
| H A D | fast_commit.c | 1154 static int ext4_fc_flush_data(journal_t *journal) in ext4_fc_flush_data() argument 1156 struct super_block *sb = journal->j_private; in ext4_fc_flush_data() 1162 ret = jbd2_submit_inode_data(journal, READ_ONCE(ei->jinode)); in ext4_fc_flush_data() 1168 ret = jbd2_wait_inode_data(journal, READ_ONCE(ei->jinode)); in ext4_fc_flush_data() 1177 static int ext4_fc_commit_dentry_updates(journal_t *journal, u32 *crc) in ext4_fc_commit_dentry_updates() argument 1179 struct super_block *sb = journal->j_private; in ext4_fc_commit_dentry_updates() 1235 static int ext4_fc_snapshot_inodes(journal_t *journal, struct inode **inodes, in ext4_fc_snapshot_inodes() argument 1241 struct super_block *sb = journal->j_private; in ext4_fc_snapshot_inodes() 1320 static int ext4_fc_perform_commit(journal_t *journal, tid_t commit_tid) in ext4_fc_perform_commit() argument 1322 struct super_block *sb = journal->j_private; in ext4_fc_perform_commit() [all …]
|
| H A D | super.c | 476 journal_t *journal = sbi->s_journal; in ext4_maybe_update_superblock() local 483 !(sb->s_flags & SB_ACTIVE) || !journal || in ext4_maybe_update_superblock() 484 journal->j_flags & JBD2_UNMOUNT) in ext4_maybe_update_superblock() 509 static void ext4_journal_commit_callback(journal_t *journal, transaction_t *txn) in ext4_journal_commit_callback() argument 511 struct super_block *sb = journal->j_private; in ext4_journal_commit_callback() 682 * writing it out straight away; and given that the journal is about to 687 * the journal instead. On recovery, the journal will complain about 693 * used to deal with unrecoverable failures such as journal IO errors or ENOMEM 700 journal_t *journal in ext4_handle_error() local 755 journal_t *journal = sbi->s_journal; update_super_work() local 5895 ext4_init_journal_params(struct super_block * sb,journal_t * journal) ext4_init_journal_params() argument 5954 ext4_journal_bmap(journal_t * journal,sector_t * block) ext4_journal_bmap() argument 5980 journal_t *journal; ext4_open_inode_journal() local 6080 journal_t *journal; ext4_open_dev_journal() local 6120 journal_t *journal; ext4_load_journal() local 6379 journal_t *journal = EXT4_SB(sb)->s_journal; ext4_mark_recovery_complete() local 6418 journal_t *journal; ext4_clear_journal_err() local 6522 journal_t *journal = EXT4_SB(sb)->s_journal; ext4_freeze() local [all...] |
| H A D | ext4_jbd2.h | 325 static inline int ext4_journal_force_commit(journal_t *journal) in ext4_journal_force_commit() argument 327 if (journal) in ext4_journal_force_commit() 328 return jbd2_journal_force_commit(journal); in ext4_journal_force_commit() 432 static inline int ext4_journal_destroy(struct ext4_sb_info *sbi, journal_t *journal) in ext4_journal_destroy() argument 451 err = jbd2_journal_destroy(journal); in ext4_journal_destroy()
|
| H A D | block_validity.c | 354 journal_t *journal = EXT4_SB(inode->i_sb)->s_journal; in ext4_check_blockref() local 356 if (journal && inode == journal->j_inode) in ext4_check_blockref()
|
| H A D | inode.c | 396 journal_t *journal = EXT4_SB(inode->i_sb)->s_journal; in __check_block_validity() local 398 if (journal && inode == journal->j_inode) in __check_block_validity() 3404 journal_t *journal = EXT4_JOURNAL(folio->mapping->host); in __ext4_journalled_invalidate_folio() local 3414 return jbd2_journal_invalidate_folio(journal, folio, offset, length); in __ext4_journalled_invalidate_folio() 3428 journal_t *journal = EXT4_JOURNAL(inode); in ext4_release_folio() local 3435 if (journal) in ext4_release_folio() 3436 return jbd2_journal_try_to_free_buffers(journal, folio); in ext4_release_folio() 3443 journal_t *journal = EXT4_SB(inode->i_sb)->s_journal; in ext4_inode_datasync_dirty() local 3446 if (journal) { in ext4_inode_datasync_dirty() 3447 if (jbd2_transaction_committed(journal, in ext4_inode_datasync_dirty() [all …]
|
| /linux/fs/f2fs/ |
| H A D | node.c | 580 struct f2fs_journal *journal = curseg->journal; in f2fs_get_node_info() local 623 i = f2fs_lookup_journal_in_cursum(sbi, journal, NAT_JOURNAL, nid, 0); in f2fs_get_node_info() 625 ne = nat_in_journal(journal, i); in f2fs_get_node_info() 2558 struct f2fs_journal *journal = curseg->journal; in scan_curseg_cache() local 2562 for (i = 0; i < nats_in_cursum(journal); i++) { in scan_curseg_cache() 2566 addr = le32_to_cpu(nat_in_journal(journal, i).block_addr); in scan_curseg_cache() 2567 nid = le32_to_cpu(nid_in_journal(journal, i)); in scan_curseg_cache() 3041 struct f2fs_journal *journal = curseg->journal; in remove_nats_in_journal() local 3046 for (i = 0; i < nats_in_cursum(journal); i++) { in remove_nats_in_journal() 3049 nid_t nid = le32_to_cpu(nid_in_journal(journal, i)); in remove_nats_in_journal() [all …]
|
| H A D | segment.c | 2838 memcpy(sum_journal(sbi, dst), curseg->journal, sbi->sum_journal_size); in write_current_sum_page() 4422 memcpy(seg_i->journal, kaddr, sbi->sum_journal_size); in read_compacted_summaries() 4426 memcpy(seg_i->journal, kaddr + sbi->sum_journal_size, sbi->sum_journal_size); in read_compacted_summaries() 4527 memcpy(curseg->journal, sum_journal(sbi, sum), sbi->sum_journal_size); in read_normal_summaries() 4546 struct f2fs_journal *sit_j = CURSEG_I(sbi, CURSEG_COLD_DATA)->journal; in restore_curseg_summaries() 4547 struct f2fs_journal *nat_j = CURSEG_I(sbi, CURSEG_HOT_DATA)->journal; in restore_curseg_summaries() 4602 memcpy(kaddr, seg_i->journal, sbi->sum_journal_size); in write_compacted_summaries() 4607 memcpy(kaddr + written_size, seg_i->journal, sbi->sum_journal_size); in write_compacted_summaries() 4667 struct f2fs_journal *journal, int type, in f2fs_lookup_journal_in_cursum() argument 4673 for (i = 0; i < nats_in_cursum(journal); i++) { in f2fs_lookup_journal_in_cursum() [all …]
|
| /linux/drivers/md/bcache/ |
| H A D | Makefile | 6 journal.o movinggc.o request.o stats.o super.o sysfs.o trace.o\
|
| H A D | bcache.h | 471 struct journal_device journal; member 702 struct journal journal; member
|
| H A D | btree.c | 287 if (w->journal) { in btree_complete_write() 288 atomic_dec_bug(w->journal); in btree_complete_write() 289 __closure_wake_up(&b->c->journal.wait); in btree_complete_write() 293 w->journal = NULL; in btree_complete_write() 496 if (w->journal && in bch_btree_leaf_dirty() 497 journal_pin_cmp(b->c, w->journal, journal_ref)) { in bch_btree_leaf_dirty() 498 atomic_dec_bug(w->journal); in bch_btree_leaf_dirty() 499 w->journal = NULL; in bch_btree_leaf_dirty() 502 if (!w->journal) { in bch_btree_leaf_dirty() 503 w->journal = journal_ref; in bch_btree_leaf_dirty() [all …]
|
| /linux/Documentation/admin-guide/ |
| H A D | jfs.rst | 26 Do not write to the journal. The primary use of this option 32 Commit metadata changes to the journal. Use this option to
|
| /linux/fs/ubifs/ |
| H A D | Makefile | 4 ubifs-y += shrinker.o journal.o file.o dir.o super.o sb.o io.o
|
| /linux/fs/ocfs2/ |
| H A D | Makefile | 25 journal.o \
|