← Back to team overview

curtin-dev team mailing list archive

[Merge] ~mwhudson/curtin:v2-dos-implicit-offsets into curtin:master

 

Michael Hudson-Doyle has proposed merging ~mwhudson/curtin:v2-dos-implicit-offsets into curtin:master.

Commit message:
block_meta_v2: fix implicit offset calculation for dos partitions



Requested reviews:
  curtin developers (curtin-dev)

For more details, see:
https://code.launchpad.net/~mwhudson/curtin/+git/curtin/+merge/415777
-- 
Your team curtin developers is requested to review the proposed merge of ~mwhudson/curtin:v2-dos-implicit-offsets into curtin:master.
diff --git a/curtin/commands/block_meta_v2.py b/curtin/commands/block_meta_v2.py
index 772c347..d1bf5a0 100644
--- a/curtin/commands/block_meta_v2.py
+++ b/curtin/commands/block_meta_v2.py
@@ -144,7 +144,6 @@ class DOSPartTable(SFDiskPartTable):
                 for entry in self.entries:
                     if entry.number <= 4:
                         prev = entry
-                        break
                 if prev is None:
                     start = ONE_MIB_SECTORS
                 else:
diff --git a/tests/integration/test_block_meta.py b/tests/integration/test_block_meta.py
index fd119c5..a415c20 100644
--- a/tests/integration/test_block_meta.py
+++ b/tests/integration/test_block_meta.py
@@ -116,19 +116,22 @@ class TestBlockMeta(IntegrationTestCase):
         psize = 40 << 20
         img = self.tmp_path('image.img')
         config = StorageConfigBuilder(version=version)
-        config.add_image(path=img, size='100M', ptable=ptable)
+        config.add_image(path=img, size='200M', ptable=ptable)
         p1 = config.add_part(size=psize, number=1)
         p2 = config.add_part(size=psize, number=2)
+        p3 = config.add_part(size=psize, number=3)
         self.run_bm(config.render())
 
         with loop_dev(img) as dev:
             self.assertEqual(
                 summarize_partitions(dev), [
-                    PartData(number=1, offset=1 << 20,           size=psize),
-                    PartData(number=2, offset=(1 << 20) + psize, size=psize),
+                    PartData(number=1, offset=1 << 20,             size=psize),
+                    PartData(number=2, offset=(1 << 20) + psize,   size=psize),
+                    PartData(number=3, offset=(1 << 20) + 2*psize, size=psize),
                 ])
         p1['offset'] = 1 << 20
         p2['offset'] = (1 << 20) + psize
+        p3['offset'] = (1 << 20) + 2*psize
         config.set_preserve()
         self.run_bm(config.render())
 

Follow ups