[OE-core] [PATCH 2/2] wic: do not realign aligned partitions

Maciej Borzecki maciej.borzecki at open-rnd.pl
Tue Aug 19 13:14:18 UTC 2014


The change prevents additional realignment of already aligned
partition. Previously, even already aligned partitions would be pushed
forward by the amount of --align.

Signed-off-by: Maciej Borzecki <maciej.borzecki at open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki at gmail.com>
---
 scripts/lib/wic/utils/partitionedfs.py | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/scripts/lib/wic/utils/partitionedfs.py b/scripts/lib/wic/utils/partitionedfs.py
index 36ef406..791f488 100644
--- a/scripts/lib/wic/utils/partitionedfs.py
+++ b/scripts/lib/wic/utils/partitionedfs.py
@@ -164,16 +164,19 @@ class Image:
 
                 # Calc how much the alignment is off.
                 align_sectors = d['offset'] % (p['align'] * 1024 / self.sector_size)
-                # We need to move forward to the next alignment point
-                align_sectors = (p['align'] * 1024 / self.sector_size) - align_sectors
 
-                msger.debug("Realignment for %s%s with %s sectors, original"
-                            " offset %s, target alignment is %sK." %
-                            (p['disk_name'], d['numpart'], align_sectors,
-                             d['offset'], p['align']))
+                if align_sectors:
+                    # If partition is not aligned as required, we need
+                    # to move forward to the next alignment point
+                    align_sectors = (p['align'] * 1024 / self.sector_size) - align_sectors
 
-                # increase the offset so we actually start the partition on right alignment
-                d['offset'] += align_sectors
+                    msger.debug("Realignment for %s%s with %s sectors, original"
+                                " offset %s, target alignment is %sK." %
+                                (p['disk_name'], d['numpart'], align_sectors,
+                                 d['offset'], p['align']))
+
+                    # increase the offset so we actually start the partition on right alignment
+                    d['offset'] += align_sectors
 
             p['start'] = d['offset']
             d['offset'] += p['size']
-- 
1.9.0




More information about the Openembedded-core mailing list