Home
last modified time | relevance | path

Searched refs:journal (Results 1 – 25 of 80) sorted by relevance

1234

/Linux-v5.4/fs/jbd2/
Djournal.c99 static void __journal_abort_soft (journal_t *journal, int errno);
148 journal_t *journal = from_timer(journal, t, j_commit_timer); in commit_timeout() local
150 wake_up_process(journal->j_task); in commit_timeout()
171 journal_t *journal = arg; in kjournald2() local
178 timer_setup(&journal->j_commit_timer, commit_timeout, 0); in kjournald2()
183 journal->j_task = current; in kjournald2()
184 wake_up(&journal->j_wait_done_commit); in kjournald2()
197 write_lock(&journal->j_state_lock); in kjournald2()
200 if (journal->j_flags & JBD2_UNMOUNT) in kjournald2()
204 journal->j_commit_sequence, journal->j_commit_request); in kjournald2()
[all …]
Dcheckpoint.c108 void __jbd2_log_wait_for_space(journal_t *journal) in __jbd2_log_wait_for_space() argument
113 nblocks = jbd2_space_needed(journal); in __jbd2_log_wait_for_space()
114 while (jbd2_log_space_left(journal) < nblocks) { in __jbd2_log_wait_for_space()
115 write_unlock(&journal->j_state_lock); in __jbd2_log_wait_for_space()
116 mutex_lock_io(&journal->j_checkpoint_mutex); in __jbd2_log_wait_for_space()
129 write_lock(&journal->j_state_lock); in __jbd2_log_wait_for_space()
130 if (journal->j_flags & JBD2_ABORT) { in __jbd2_log_wait_for_space()
131 mutex_unlock(&journal->j_checkpoint_mutex); in __jbd2_log_wait_for_space()
134 spin_lock(&journal->j_list_lock); in __jbd2_log_wait_for_space()
135 space_left = jbd2_log_space_left(journal); in __jbd2_log_wait_for_space()
[all …]
Dcommit.c116 static int journal_submit_commit_record(journal_t *journal, in journal_submit_commit_record() argument
128 if (is_journal_aborted(journal)) in journal_submit_commit_record()
141 if (jbd2_has_feature_checksum(journal)) { in journal_submit_commit_record()
146 jbd2_commit_block_csum_set(journal, bh); in journal_submit_commit_record()
154 if (journal->j_flags & JBD2_BARRIER && in journal_submit_commit_record()
155 !jbd2_has_feature_async_commit(journal)) in journal_submit_commit_record()
169 static int journal_wait_on_commit_record(journal_t *journal, in journal_wait_on_commit_record() argument
213 static int journal_submit_data_buffers(journal_t *journal, in journal_submit_data_buffers() argument
220 spin_lock(&journal->j_list_lock); in journal_submit_data_buffers()
229 spin_unlock(&journal->j_list_lock); in journal_submit_data_buffers()
[all …]
Drevoke.c131 static inline int hash(journal_t *journal, unsigned long long block) in hash() argument
133 return hash_64(block, journal->j_revoke->hash_shift); in hash()
136 static int insert_revoke_hash(journal_t *journal, unsigned long long blocknr, in insert_revoke_hash() argument
151 hash_list = &journal->j_revoke->hash_table[hash(journal, blocknr)]; in insert_revoke_hash()
152 spin_lock(&journal->j_revoke_lock); in insert_revoke_hash()
154 spin_unlock(&journal->j_revoke_lock); in insert_revoke_hash()
160 static struct jbd2_revoke_record_s *find_revoke_record(journal_t *journal, in find_revoke_record() argument
166 hash_list = &journal->j_revoke->hash_table[hash(journal, blocknr)]; in find_revoke_record()
168 spin_lock(&journal->j_revoke_lock); in find_revoke_record()
172 spin_unlock(&journal->j_revoke_lock); in find_revoke_record()
[all …]
Dtransaction.c80 static void jbd2_get_transaction(journal_t *journal, in jbd2_get_transaction() argument
83 transaction->t_journal = journal; in jbd2_get_transaction()
86 transaction->t_tid = journal->j_transaction_sequence++; in jbd2_get_transaction()
87 transaction->t_expires = jiffies + journal->j_commit_interval; in jbd2_get_transaction()
91 atomic_read(&journal->j_reserved_credits)); in jbd2_get_transaction()
97 journal->j_commit_timer.expires = round_jiffies_up(transaction->t_expires); in jbd2_get_transaction()
98 add_timer(&journal->j_commit_timer); in jbd2_get_transaction()
100 J_ASSERT(journal->j_running_transaction == NULL); in jbd2_get_transaction()
101 journal->j_running_transaction = transaction; in jbd2_get_transaction()
145 static void wait_transaction_locked(journal_t *journal) in wait_transaction_locked() argument
[all …]
Drecovery.c39 static int do_one_pass(journal_t *journal,
67 static int do_readahead(journal_t *journal, unsigned int start) in do_readahead() argument
77 max = start + (128 * 1024 / journal->j_blocksize); in do_readahead()
78 if (max > journal->j_maxlen) in do_readahead()
79 max = journal->j_maxlen; in do_readahead()
87 err = jbd2_journal_bmap(journal, next, &blocknr); in do_readahead()
95 bh = __getblk(journal->j_dev, blocknr, journal->j_blocksize); in do_readahead()
129 static int jread(struct buffer_head **bhp, journal_t *journal, in jread() argument
138 if (offset >= journal->j_maxlen) { in jread()
143 err = jbd2_journal_bmap(journal, offset, &blocknr); in jread()
[all …]
/Linux-v5.4/fs/reiserfs/
Djournal.c96 struct reiserfs_journal *journal);
117 struct reiserfs_journal *journal = SB_JOURNAL(sb); in init_journal_hash() local
118 memset(journal->j_hash_table, 0, in init_journal_hash()
159 struct reiserfs_journal *journal = SB_JOURNAL(sb); in get_bitmap_node() local
161 struct list_head *entry = journal->j_bitmap_nodes.next; in get_bitmap_node()
163 journal->j_used_bitmap_nodes++; in get_bitmap_node()
166 if (entry != &journal->j_bitmap_nodes) { in get_bitmap_node()
170 journal->j_free_bitmap_nodes--; in get_bitmap_node()
183 struct reiserfs_journal *journal = SB_JOURNAL(sb); in free_bitmap_node() local
184 journal->j_used_bitmap_nodes--; in free_bitmap_node()
[all …]
/Linux-v5.4/drivers/md/bcache/
Djournal.c38 struct journal_device *ja = &ca->journal; in journal_read_bucket()
42 struct jset *j, *data = ca->set->journal.w[0].data; in journal_read_bucket()
187 struct journal_device *ja = &ca->journal; in bch_journal_read()
292 c->journal.seq = list_entry(list->prev, in bch_journal_read()
305 struct journal *j = &c->journal; in bch_journal_mark()
425 if (c->journal.btree_flushing) in btree_flush_write()
428 spin_lock(&c->journal.flush_write_lock); in btree_flush_write()
429 if (c->journal.btree_flushing) { in btree_flush_write()
430 spin_unlock(&c->journal.flush_write_lock); in btree_flush_write()
433 c->journal.btree_flushing = true; in btree_flush_write()
[all …]
Djournal.h104 struct journal { struct
162 (fifo_idx(&(c)->journal.pin, (l)) > fifo_idx(&(c)->journal.pin, (r)))
177 void bch_journal_next(struct journal *j);
/Linux-v5.4/fs/ocfs2/
Djournal.c63 static void ocfs2_queue_recovery_completion(struct ocfs2_journal *journal,
156 ocfs2_queue_recovery_completion(osb->journal, i, NULL, in ocfs2_queue_replay_slots()
298 struct ocfs2_journal *journal = NULL; in ocfs2_commit_cache() local
300 journal = osb->journal; in ocfs2_commit_cache()
303 down_write(&journal->j_trans_barrier); in ocfs2_commit_cache()
305 flushed = atomic_read(&journal->j_num_trans); in ocfs2_commit_cache()
308 up_write(&journal->j_trans_barrier); in ocfs2_commit_cache()
312 jbd2_journal_lock_updates(journal->j_journal); in ocfs2_commit_cache()
313 status = jbd2_journal_flush(journal->j_journal); in ocfs2_commit_cache()
314 jbd2_journal_unlock_updates(journal->j_journal); in ocfs2_commit_cache()
[all …]
Djournal.h80 static inline void ocfs2_set_ci_lock_trans(struct ocfs2_journal *journal, in ocfs2_set_ci_lock_trans() argument
84 ci->ci_last_trans = journal->j_trans_id; in ocfs2_set_ci_lock_trans()
96 struct ocfs2_journal *journal = in ocfs2_ci_fully_checkpointed() local
97 OCFS2_SB(ocfs2_metadata_cache_get_super(ci))->journal; in ocfs2_ci_fully_checkpointed()
100 ret = time_after(journal->j_trans_id, ci->ci_last_trans); in ocfs2_ci_fully_checkpointed()
112 struct ocfs2_journal *journal = in ocfs2_ci_is_new() local
113 OCFS2_SB(ocfs2_metadata_cache_get_super(ci))->journal; in ocfs2_ci_is_new()
116 ret = !(time_after(journal->j_trans_id, ci->ci_created_trans)); in ocfs2_ci_is_new()
139 ci->ci_created_trans = osb->journal->j_trans_id; in ocfs2_ci_set_new()
172 int ocfs2_journal_init(struct ocfs2_journal *journal,
[all …]
Dsuper.c288 "Journal", osb->journal->j_state, in ocfs2_osb_dump()
289 osb->journal->j_trans_id, in ocfs2_osb_dump()
290 atomic_read(&osb->journal->j_num_trans)); in ocfs2_osb_dump()
412 if (jbd2_journal_start_commit(osb->journal->j_journal, in ocfs2_sync_fs()
415 jbd2_log_wait_commit(osb->journal->j_journal, in ocfs2_sync_fs()
1980 jbd2_journal_check_used_features(osb->journal->j_journal, 0, 0, in ocfs2_journal_addressable()
2001 struct ocfs2_journal *journal; in ocfs2_initialize_super() local
2185 journal = kzalloc(sizeof(struct ocfs2_journal), GFP_KERNEL); in ocfs2_initialize_super()
2186 if (!journal) { in ocfs2_initialize_super()
2191 osb->journal = journal; in ocfs2_initialize_super()
[all …]
/Linux-v5.4/include/trace/events/
Djbd2.h16 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-v5.4/include/linux/
Djbd2.h1279 int jbd2_journal_get_log_tail(journal_t *journal, tid_t *tid,
1281 int __jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block);
1282 void jbd2_update_log_tail(journal_t *journal, tid_t tid, unsigned long block);
1288 void __jbd2_journal_clean_checkpoint_list(journal_t *journal, bool destroy);
1290 void jbd2_journal_destroy_checkpoint(journal_t *journal);
1397 extern int jbd2_journal_load (journal_t *journal);
1399 extern int jbd2_journal_recover (journal_t *journal);
1419 extern int jbd2_journal_begin_ordered_truncate(journal_t *journal,
1422 extern void jbd2_journal_release_jbd_inode(journal_t *journal, struct jbd2_inode *jinode);
1480 extern void jbd2_journal_switch_revoke_table(journal_t *journal);
[all …]
/Linux-v5.4/Documentation/filesystems/ext4/
Djournal.rst6 Introduced in ext3, the ext4 filesystem employs a journal to protect the
12 committed is also written to the journal. At some later point in time,
13 the journal code writes the transactions to their final locations on
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.
31 The journal inode is typically inode 8. The first 68 bytes of the
[all …]
/Linux-v5.4/Documentation/admin-guide/device-mapper/
Ddm-integrity.rst12 To guarantee write atomicity, the dm-integrity target uses journal, it
13 writes sector data and integrity tags into a journal, commits the journal
29 instead of a journal. If a bit in the bitmap is 1, the corresponding
32 is faster than the journal mode, because we don't have to write the data
66 D - direct writes (without journal)
73 journal and atomicity is guaranteed. In case of crash,
81 R - recovery mode - in this mode, journal is not replayed,
92 The size of journal, this argument is used only if formatting the
114 The journal watermark in percents. When the size of the journal
115 exceeds this watermark, the thread that flushes the journal will
[all …]
/Linux-v5.4/Documentation/filesystems/
Djournalling.rst12 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 :c:func:`jbd2_journal_load` to process
24 journal contents. If the client file system detects the journal contents
26 may call :c:func:`jbd2_journal_wipe` to clear the journal contents before
31 transactions in the journal and similarly :c:func:`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 :c:func:`jbd2_journal_destroy` to clean up your in-core journal object.
[all …]
Dgfs2-uevents.txt20 with no journal assigned), and read-only (with journal assigned) status
39 of journal recovery for one of the filesystems journals. It has
40 two environment variables, JID= which specifies the journal id which
43 for every journal recovered, whether it is during the initial mount
44 process or as the result of gfs_controld requesting a specific journal
89 If a journal is in use by the filesystem (journals are not
91 numeric journal id in all GFS2 uevents.
Dubifs-authentication.rst130 certain conditions are met (eg. ``fsync(2)``). The journal is used to record
132 of the index. During mount, the journal is read from the flash and replayed
135 UBIFS reserves a bunch of LEBs just for the journal called *log area*. The
140 written on every journal update. Each reference node points to the position of
142 journal entry. These nodes are called *buds* and describe the actual filesystem
145 The log area is maintained as a ring. Whenever the journal is almost full,
151 When writing a journal entry, UBIFS first ensures that enough space is
157 done for the last referenced LEB of the journal. Only this can become corrupt
222 versions of the index tree or the journal, but instead marks them as obsolete
245 - The journal which also contains file contents and metadata by recording changes
[all …]
/Linux-v5.4/fs/ext4/
Dfsync.c99 journal_t *journal = EXT4_SB(inode->i_sb)->s_journal; in ext4_sync_file() local
119 if (!journal) { in ext4_sync_file()
151 if (journal->j_flags & JBD2_BARRIER && in ext4_sync_file()
152 !jbd2_trans_will_send_data_barrier(journal, commit_tid)) in ext4_sync_file()
154 ret = jbd2_complete_transaction(journal, commit_tid); in ext4_sync_file()
Dext4_jbd2.c44 journal_t *journal; in ext4_journal_check_start() local
54 journal = EXT4_SB(sb)->s_journal; in ext4_journal_check_start()
60 if (journal && is_journal_aborted(journal)) { in ext4_journal_check_start()
70 journal_t *journal; in __ext4_journal_start_sb() local
78 journal = EXT4_SB(sb)->s_journal; in __ext4_journal_start_sb()
79 if (!journal) in __ext4_journal_start_sb()
81 return jbd2__journal_start(journal, blocks, rsv_blocks, GFP_NOFS, in __ext4_journal_start_sb()
Dsuper.c411 static void ext4_journal_commit_callback(journal_t *journal, transaction_t *txn) in ext4_journal_commit_callback() argument
413 struct super_block *sb = journal->j_private; in ext4_journal_commit_callback()
415 int error = is_journal_aborted(journal); in ext4_journal_commit_callback()
464 journal_t *journal = EXT4_SB(sb)->s_journal; in ext4_handle_error() local
467 if (journal) in ext4_handle_error()
468 jbd2_journal_abort(journal, -EIO); in ext4_handle_error()
1241 journal_t *journal = EXT4_SB(sb)->s_journal; in bdev_try_to_free_page() local
1246 if (journal) in bdev_try_to_free_page()
1247 return jbd2_journal_try_to_free_buffers(journal, page, in bdev_try_to_free_page()
4715 static void ext4_init_journal_params(struct super_block *sb, journal_t *journal) in ext4_init_journal_params() argument
[all …]
/Linux-v5.4/Documentation/admin-guide/
Dext4.rst66 the filesystem with a large journal can also be helpful for
84 * journal checksumming for robustness, performance
143 Mount filesystem read only. Note that ext4 will replay the journal (and
148 Enable checksumming of the journal transactions. This will allow the
159 When the external journal device's major/minor numbers have changed,
160 these options allow the user to specify the new journal location. The
161 journal device is identified through either its new major/minor numbers
165 Don't load the journal on mounting. Note that if the filesystem was
166 not unmounted cleanly, skipping the journal replay will lead to the
170 data=journal
[all …]
/Linux-v5.4/fs/f2fs/
Dsegment.c2337 memcpy(&dst->journal, curseg->journal, SUM_JOURNAL_SIZE); in write_current_sum_page()
3437 memcpy(seg_i->journal, kaddr, SUM_JOURNAL_SIZE); in read_compacted_summaries()
3441 memcpy(seg_i->journal, kaddr + SUM_JOURNAL_SIZE, SUM_JOURNAL_SIZE); in read_compacted_summaries()
3541 memcpy(curseg->journal, &sum->journal, SUM_JOURNAL_SIZE); in read_normal_summaries()
3558 struct f2fs_journal *sit_j = CURSEG_I(sbi, CURSEG_COLD_DATA)->journal; in restore_curseg_summaries()
3559 struct f2fs_journal *nat_j = CURSEG_I(sbi, CURSEG_HOT_DATA)->journal; in restore_curseg_summaries()
3613 memcpy(kaddr, seg_i->journal, SUM_JOURNAL_SIZE); in write_compacted_summaries()
3618 memcpy(kaddr + written_size, seg_i->journal, SUM_JOURNAL_SIZE); in write_compacted_summaries()
3682 int f2fs_lookup_journal_in_cursum(struct f2fs_journal *journal, int type, in f2fs_lookup_journal_in_cursum() argument
3688 for (i = 0; i < nats_in_cursum(journal); i++) { in f2fs_lookup_journal_in_cursum()
[all …]
Dnode.c521 struct f2fs_journal *journal = curseg->journal; in f2fs_get_node_info() local
548 i = f2fs_lookup_journal_in_cursum(journal, NAT_JOURNAL, nid, 0); in f2fs_get_node_info()
550 ne = nat_in_journal(journal, i); in f2fs_get_node_info()
2257 struct f2fs_journal *journal = curseg->journal; in scan_curseg_cache() local
2261 for (i = 0; i < nats_in_cursum(journal); i++) { in scan_curseg_cache()
2265 addr = le32_to_cpu(nat_in_journal(journal, i).block_addr); in scan_curseg_cache()
2266 nid = le32_to_cpu(nid_in_journal(journal, i)); in scan_curseg_cache()
2703 struct f2fs_journal *journal = curseg->journal; in remove_nats_in_journal() local
2707 for (i = 0; i < nats_in_cursum(journal); i++) { in remove_nats_in_journal()
2710 nid_t nid = le32_to_cpu(nid_in_journal(journal, i)); in remove_nats_in_journal()
[all …]

1234