summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorngkaho1234 <ngkaho1234@gmail.com>2015-12-17 23:19:30 +0800
committerngkaho1234 <ngkaho1234@gmail.com>2015-12-17 23:19:35 +0800
commit03a75d6f3bd1332a8ddaa796803b42000a6090ba (patch)
tree2ec4ae0dea4b4e6f04f5b43bdd00b482ea9475f5
parent3cf7bf8bd1bc13387a957f8032f68ed0202ac6e9 (diff)
ext4_journal: mark buffers invalid if transaction is aborted.
-rw-r--r--lwext4/ext4_journal.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lwext4/ext4_journal.c b/lwext4/ext4_journal.c
index 80cd1a9..c222c1e 100644
--- a/lwext4/ext4_journal.c
+++ b/lwext4/ext4_journal.c
@@ -1116,8 +1116,10 @@ void jbd_journal_free_trans(struct jbd_journal *journal,
struct ext4_fs *fs = journal->jbd_fs->inode_ref.fs;
LIST_FOREACH_SAFE(jbd_buf, &trans->buf_list, buf_node,
tmp) {
- if (abort)
+ if (abort) {
+ ext4_bcache_clear_dirty(jbd_buf->block.buf);
ext4_block_set(fs->bdev, &jbd_buf->block);
+ }
LIST_REMOVE(jbd_buf, buf_node);
free(jbd_buf);