summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorngkaho1234 <ngkaho1234@gmail.com>2015-11-29 02:44:49 +0000
committerngkaho1234 <ngkaho1234@gmail.com>2015-11-29 02:45:20 +0000
commit9668eacad96304fd50a6d5bf8cda00ba915108a0 (patch)
treead77978c373fdc9a3ec6c0bc441c0cc00c3cb74e
parente70a208249503ae237b035bfc6e9116c2c6fa762 (diff)
ext4_journal: simplify the code logic of superblock replaying.
-rw-r--r--lwext4/ext4_journal.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/lwext4/ext4_journal.c b/lwext4/ext4_journal.c
index 88e9f61..6297abc 100644
--- a/lwext4/ext4_journal.c
+++ b/lwext4/ext4_journal.c
@@ -374,14 +374,10 @@ static void jbd_replay_block_tags(struct jbd_fs *jbd_fs,
uint16_t mount_count, state;
mount_count = ext4_get16(&fs->sb, mount_count);
state = ext4_get16(&fs->sb, state);
- r = ext4_blocks_set_direct(fs->bdev, journal_block.data,
- 0, 1);
- if (r != EOK)
- return;
- r = ext4_sb_read(fs->bdev, &fs->sb);
- if (r != EOK)
- return;
+ memcpy(&fs->sb,
+ journal_block.data + EXT4_SUPERBLOCK_OFFSET,
+ EXT4_SUPERBLOCK_SIZE);
/* Mark system as mounted */
ext4_set16(&fs->sb, state, state);