Commit 736603ab authored by Theodore Ts'o's avatar Theodore Ts'o

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: default avatar"Theodore Ts'o" <tytso@mit.edu>
parent 4db9c54a
...@@ -112,6 +112,7 @@ static int journal_submit_commit_record(journal_t *journal, ...@@ -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, ...@@ -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)) {
......
...@@ -168,6 +168,8 @@ struct commit_header { ...@@ -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;
}; };
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment