resolved conflicts for merge of 74da0434 to master

Change-Id: I0a7745ecf65a2188c32e7bf2e89fe93259c71b83
diff --git a/ext4_utils/ext4_utils.c b/ext4_utils/ext4_utils.c
index 1b70afe..22fbd83 100644
--- a/ext4_utils/ext4_utils.c
+++ b/ext4_utils/ext4_utils.c
@@ -23,6 +23,7 @@
 #include <sparse/sparse.h>
 
 #include <fcntl.h>
+#include <inttypes.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <stddef.h>
@@ -41,12 +42,10 @@
 #include <sys/disk.h>
 #endif
 
-#include "ext4.h"
-#include "jbd2.h"
-
 int force = 0;
 struct fs_info info;
 struct fs_aux_info aux_info;
+struct sparse_file *ext4_sparse_file;
 
 jmp_buf setjmp_env;
 
@@ -131,7 +130,7 @@
 /* Write the filesystem image to a file */
 void write_ext4_image(int fd, int gz, int sparse, int crc)
 {
-	sparse_file_write(info.sparse_file, fd, gz, sparse, crc);
+	sparse_file_write(ext4_sparse_file, fd, gz, sparse, crc);
 }
 
 /* Compute the rest of the parameters of the filesystem from the basic info */
@@ -275,10 +274,10 @@
 				memcpy(aux_info.backup_sb[i], sb, info.block_size);
 				/* Update the block group nr of this backup superblock */
 				aux_info.backup_sb[i]->s_block_group_nr = i;
-				sparse_file_add_data(info.sparse_file, aux_info.backup_sb[i],
+				sparse_file_add_data(ext4_sparse_file, aux_info.backup_sb[i],
 						info.block_size, group_start_block);
 			}
-			sparse_file_add_data(info.sparse_file, aux_info.bg_desc,
+			sparse_file_add_data(ext4_sparse_file, aux_info.bg_desc,
 				aux_info.bg_desc_blocks * info.block_size,
 				group_start_block + 1);
 			header_size = 1 + aux_info.bg_desc_blocks + info.bg_desc_reserve_blocks;
@@ -304,13 +303,13 @@
 	if (info.block_size > 1024) {
 		u8 *buf = calloc(info.block_size, 1);
 		memcpy(buf + 1024, (u8*)aux_info.sb, 1024);
-		sparse_file_add_data(info.sparse_file, buf, info.block_size, 0);
+		sparse_file_add_data(ext4_sparse_file, buf, info.block_size, 0);
 	} else {
-		sparse_file_add_data(info.sparse_file, aux_info.sb, 1024, 1);
+		sparse_file_add_data(ext4_sparse_file, aux_info.sb, 1024, 1);
 	}
 }
 
-void ext4_parse_sb(struct ext4_super_block *sb)
+void ext4_parse_sb_info(struct ext4_super_block *sb)
 {
 	if (sb->s_magic != EXT4_SUPER_MAGIC)
 		error("superblock magic incorrect");
@@ -318,20 +317,7 @@
 	if ((sb->s_state & EXT4_VALID_FS) != EXT4_VALID_FS)
 		error("filesystem state not valid");
 
-	info.block_size = 1024 << sb->s_log_block_size;
-	info.blocks_per_group = sb->s_blocks_per_group;
-	info.inodes_per_group = sb->s_inodes_per_group;
-	info.inode_size = sb->s_inode_size;
-	info.inodes = sb->s_inodes_count;
-	info.feat_ro_compat = sb->s_feature_ro_compat;
-	info.feat_compat = sb->s_feature_compat;
-	info.feat_incompat = sb->s_feature_incompat;
-	info.bg_desc_reserve_blocks = sb->s_reserved_gdt_blocks;
-	info.label = sb->s_volume_name;
-
-	aux_info.len_blocks = ((u64)sb->s_blocks_count_hi << 32) +
-			sb->s_blocks_count_lo;
-	info.len = (u64)info.block_size * aux_info.len_blocks;
+	ext4_parse_sb(sb, &info);
 
 	ext4_create_fs_aux_info();
 
@@ -505,7 +491,7 @@
 
 	read_sb(fd, &sb);
 
-	ext4_parse_sb(&sb);
+	ext4_parse_sb_info(&sb);
 
 	ret = lseek64(fd, info.len, SEEK_SET);
 	if (ret < 0)
@@ -523,13 +509,13 @@
 
 	if (verbose) {
 		printf("Found filesystem with parameters:\n");
-		printf("    Size: %llu\n", info.len);
+		printf("    Size: %"PRIu64"\n", info.len);
 		printf("    Block size: %d\n", info.block_size);
 		printf("    Blocks per group: %d\n", info.blocks_per_group);
 		printf("    Inodes per group: %d\n", info.inodes_per_group);
 		printf("    Inode size: %d\n", info.inode_size);
 		printf("    Label: %s\n", info.label);
-		printf("    Blocks: %llu\n", aux_info.len_blocks);
+		printf("    Blocks: %"PRIu64"\n", aux_info.len_blocks);
 		printf("    Block groups: %d\n", aux_info.groups);
 		printf("    Reserved block group size: %d\n", info.bg_desc_reserve_blocks);
 		printf("    Used %d/%d inodes and %d/%d blocks\n",