Round down the filesystem size to a multiple of the block size
If it's not a multiple of the block size, then errors are generated
when making sparse images. This doesn't change the size of the generated
filesystem, because partial blocks are not included in the filesystem.
Change-Id: Ifc00ef7961f651ce22c6400759eadce2775d7811
diff --git a/ext4_utils/make_ext4fs.c b/ext4_utils/make_ext4fs.c
index 298a02a..dbffc8d 100644
--- a/ext4_utils/make_ext4fs.c
+++ b/ext4_utils/make_ext4fs.c
@@ -278,6 +278,9 @@
if (info.block_size <= 0)
info.block_size = compute_block_size();
+ /* Round down the filesystem length to be a multiple of the block size */
+ info.len &= ~((u64)info.block_size - 1);
+
if (info.journal_blocks == 0)
info.journal_blocks = compute_journal_blocks();