OSDN Git Service

Round down the filesystem size to a multiple of the block size
authorKen Sumrall <ksumrall@android.com>
Thu, 14 Jul 2011 00:27:07 +0000 (17:27 -0700)
committerKen Sumrall <ksumrall@android.com>
Thu, 14 Jul 2011 00:27:07 +0000 (17:27 -0700)
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

ext4_utils/make_ext4fs.c

index 298a02a..dbffc8d 100644 (file)
@@ -278,6 +278,9 @@ int make_ext4fs_internal(const char *filename, const char *directory,
        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();