summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgkostka <kostka.grzegorz@gmail.com>2015-10-11 10:57:21 +0200
committerngkaho1234 <ngkaho1234@gmail.com>2015-10-11 17:01:10 +0800
commit00c04858f25eb0d90eb98ec117b9ccca19dbb70a (patch)
tree1f1b65aa3cf894af35a5135f530c6a39299036a3
parent9d667e4f5f732c994118fcd6303e6ff21c6669de (diff)
Add ext4_mkfs_read_info function
-rw-r--r--lwext4/ext4_mkfs.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/lwext4/ext4_mkfs.c b/lwext4/ext4_mkfs.c
index 20f8a3d..64bbea7 100644
--- a/lwext4/ext4_mkfs.c
+++ b/lwext4/ext4_mkfs.c
@@ -67,12 +67,28 @@ static int ext4_mkfs_sb2info(struct ext4_sblock *sb, struct ext4_mkfs_info *info
int ext4_mkfs_read_info(struct ext4_blockdev *bd, struct ext4_mkfs_info *info)
{
- (void)bd;
- (void)info;
+ int r;
+ struct ext4_sblock *sb = NULL;
+ r = ext4_block_init(bd);
+ if (r != EOK)
+ return r;
- ext4_mkfs_sb2info(0, 0);
+ sb = malloc(sizeof(struct ext4_sblock));
+ if (!sb)
+ goto Finish;
- return EOK;
+
+ r = ext4_sb_read(bd, sb);
+ if (r != EOK)
+ goto Finish;
+
+ r = ext4_mkfs_sb2info(sb, info);
+
+Finish:
+ if (sb)
+ free(sb);
+ ext4_block_fini(bd);
+ return r;
}
int ext4_mkfs(struct ext4_blockdev *bd, struct ext4_mkfs_info *info)