[oe-commits] Maciej Borzecki : wic: fix vfat partition sector count only if needed

git at git.openembedded.org git at git.openembedded.org
Tue Sep 23 19:36:28 UTC 2014


Module: openembedded-core.git
Branch: master
Commit: 99bee4cb489800d74dea4d2158ff834413685f04
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=99bee4cb489800d74dea4d2158ff834413685f04

Author: Maciej Borzecki <maciej.borzecki at open-rnd.pl>
Date:   Mon Sep 22 13:35:15 2014 +0200

wic: fix vfat partition sector count only if needed

VFAT rootfs partitions sector count would get updated always even if
there is no need. Since parition size in wic is expressed in MB, any
sub MB change will cause the generated partition image to be larger
than allocated space within the disk image. Fortunately, partitions
sized in MB will most of the time have a proper sector count.

Signed-off-by: Maciej Borzecki <maciej.borzecki at open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki at gmail.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 scripts/lib/wic/kickstart/custom_commands/partition.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/scripts/lib/wic/kickstart/custom_commands/partition.py b/scripts/lib/wic/kickstart/custom_commands/partition.py
index f41d136..8b0ace6 100644
--- a/scripts/lib/wic/kickstart/custom_commands/partition.py
+++ b/scripts/lib/wic/kickstart/custom_commands/partition.py
@@ -318,9 +318,11 @@ class Wic_PartData(Mic_PartData):
 
         # Ensure total sectors is an integral number of sectors per
         # track or mcopy will complain. Sectors are 512 bytes, and we
-        # generate images with 32 sectors per track. This calculation is
-        # done in blocks, thus the mod by 16 instead of 32.
-        blocks += (16 - (blocks % 16))
+        # generate images with 32 sectors per track. This calculation
+        # is done in blocks, thus the mod by 16 instead of 32. Apply
+        # sector count fix only when needed.
+        if blocks % 16 != 0:
+            blocks += (16 - (blocks % 16))
 
         dosfs_cmd = "mkdosfs -n boot -S 512 -C %s %d" % (rootfs, blocks)
         exec_native_cmd(dosfs_cmd, native_sysroot)



More information about the Openembedded-commits mailing list