jbd2: Add commit time into the commit block

Carlo Wood has demonstrated that it's possible to recover deleted
files from the journal.  Something that will make this easier is if we
can put the time of the commit into commit block.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
Theodore Ts'o 2008-07-11 19:27:31 -04:00
parent 4db9c54a53
commit 736603ab29
2 changed files with 5 additions and 0 deletions

View File

@ -112,6 +112,7 @@ static int journal_submit_commit_record(journal_t *journal,
struct buffer_head *bh; struct buffer_head *bh;
int ret; int ret;
int barrier_done = 0; int barrier_done = 0;
struct timespec now = current_kernel_time();
if (is_journal_aborted(journal)) if (is_journal_aborted(journal))
return 0; return 0;
@ -126,6 +127,8 @@ static int journal_submit_commit_record(journal_t *journal,
tmp->h_magic = cpu_to_be32(JBD2_MAGIC_NUMBER); tmp->h_magic = cpu_to_be32(JBD2_MAGIC_NUMBER);
tmp->h_blocktype = cpu_to_be32(JBD2_COMMIT_BLOCK); tmp->h_blocktype = cpu_to_be32(JBD2_COMMIT_BLOCK);
tmp->h_sequence = cpu_to_be32(commit_transaction->t_tid); tmp->h_sequence = cpu_to_be32(commit_transaction->t_tid);
tmp->h_commit_sec = cpu_to_be64(now.tv_sec);
tmp->h_commit_nsec = cpu_to_be32(now.tv_nsec);
if (JBD2_HAS_COMPAT_FEATURE(journal, if (JBD2_HAS_COMPAT_FEATURE(journal,
JBD2_FEATURE_COMPAT_CHECKSUM)) { JBD2_FEATURE_COMPAT_CHECKSUM)) {

View File

@ -168,6 +168,8 @@ struct commit_header {
unsigned char h_chksum_size; unsigned char h_chksum_size;
unsigned char h_padding[2]; unsigned char h_padding[2];
__be32 h_chksum[JBD2_CHECKSUM_BYTES]; __be32 h_chksum[JBD2_CHECKSUM_BYTES];
__be64 h_commit_sec;
__be32 h_commit_nsec;
}; };
/* /*