Merge pull request #36 from mmmaisel/dev
[lwext4.git] / src / ext4_mkfs.c
index 81867d6af237b41416cd85e0296d16aa473265d1..0dfc91ffe139087e9fbce36e212027b4999edff8 100644 (file)
  * @brief
  */
 
-#include "ext4_config.h"
-#include "ext4_types.h"
-#include "ext4_misc.h"
-#include "ext4_errno.h"
-#include "ext4_debug.h"
-
-#include "ext4_super.h"
-#include "ext4_block_group.h"
-#include "ext4_dir.h"
-#include "ext4_dir_idx.h"
-#include "ext4_fs.h"
-#include "ext4_inode.h"
-#include "ext4_ialloc.h"
-#include "ext4_mkfs.h"
+#include <ext4_config.h>
+#include <ext4_types.h>
+#include <ext4_misc.h>
+#include <ext4_errno.h>
+#include <ext4_debug.h>
+
+#include <ext4_super.h>
+#include <ext4_block_group.h>
+#include <ext4_dir.h>
+#include <ext4_dir_idx.h>
+#include <ext4_fs.h>
+#include <ext4_inode.h>
+#include <ext4_ialloc.h>
+#include <ext4_mkfs.h>
 
 #include <inttypes.h>
 #include <string.h>
@@ -95,6 +95,7 @@ static int sb2info(struct ext4_sblock *sb, struct ext4_mkfs_info *info)
        info->label = sb->volume_name;
        info->len = (uint64_t)info->block_size * ext4_sb_get_blocks_cnt(sb);
        info->dsc_size = to_le16(sb->desc_size);
+       memcpy(info->uuid, sb->uuid, UUID_SIZE);
 
        return EOK;
 }
@@ -260,7 +261,7 @@ static void fill_sb(struct fs_aux_info *aux_info, struct ext4_mkfs_info *info)
        sb->features_incompatible = to_le32(info->feat_incompat);
        sb->features_read_only = to_le32(info->feat_ro_compat);
 
-       memset(sb->uuid, 0, sizeof(sb->uuid));
+       memcpy(sb->uuid, info->uuid, UUID_SIZE);
 
        memset(sb->volume_name, 0, sizeof(sb->volume_name));
        strncpy(sb->volume_name, info->label, sizeof(sb->volume_name));
@@ -388,7 +389,7 @@ static int write_bgroups(struct ext4_blockdev *bd, struct fs_aux_info *aux_info,
                                              bg_free_blk);
 
                ext4_bg_set_free_inodes_count(bg_desc,
-                               aux_info->sb, aux_info->sb->inodes_per_group);
+                               aux_info->sb, to_le32(aux_info->sb->inodes_per_group));
 
                ext4_bg_set_used_dirs_count(bg_desc, aux_info->sb, 0);
 
@@ -709,7 +710,7 @@ int ext4_mkfs(struct ext4_fs *fs, struct ext4_blockdev *bd,
        bd->fs = fs;
 
        if (info->len == 0)
-               info->len = bd->bdif->ph_bcnt * bd->bdif->ph_bsize;
+               info->len = bd->part_size;
 
        if (info->block_size == 0)
                info->block_size = 4096; /*Set block size to default value*/