jbd2: split updating of journal superblock and marking journal empty

There are three case of updating journal superblock. In the first case, we want
to mark journal as empty (setting s_sequence to 0), in the second case we want
to update log tail, in the third case we want to update s_errno. Split these
cases into separate functions. It makes the code slightly more straightforward
and later patches will make the distinction even more important.

Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
Jan Kara
2012-03-13 15:41:04 -04:00
committed by Theodore Ts'o
parent 31d4f3a2f3
commit 24bcc89c7e
5 changed files with 106 additions and 83 deletions

View File

@@ -236,25 +236,21 @@ TRACE_EVENT(jbd2_cleanup_journal_tail,
__entry->block_nr, __entry->freed)
);
TRACE_EVENT(jbd2_update_superblock_end,
TRACE_EVENT(jbd2_write_superblock,
TP_PROTO(journal_t *journal, int wait),
TP_PROTO(journal_t *journal),
TP_ARGS(journal, wait),
TP_ARGS(journal),
TP_STRUCT__entry(
__field( dev_t, dev )
__field( int, wait )
),
TP_fast_assign(
__entry->dev = journal->j_fs_dev->bd_dev;
__entry->wait = wait;
),
TP_printk("dev %d,%d wait %d",
MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->wait)
TP_printk("dev %d,%d", MAJOR(__entry->dev), MINOR(__entry->dev))
);
#endif /* _TRACE_JBD2_H */