diskimage-builder/diskimage_builder
Ian Wienand 5d5fa06e5c Sync after writing partition table
We introduced the "settle" in
I90103b59357edebbac7a641e8980cb282d37561b thinking that maybe kpartx
had not finished writing the partition.  This probably wasn't a bad
first assumption, since we used to have this -- but is seems
insufficient.

The other failiure here seems to be if kpartx hasn't actually seen the
updated partition table in the image, so it has correctly (in it's
mind) not mounted the partition.

Looking at strace of fdisk run manually on a loopback, it will do a
fsync on the raw device after writing and then a global sync as it
exits.

This replicates this; we flush and fsync in mbr.py in the exit handler
after writing the partition, before closing the file (i've updated one
of the unit tests to double-check the call).  In the partitioning.py
caller we execute a sync call too.

Since it does seem unlikely the "-s" option of kpartx is not working,
I've removed the udev settle work-around too.

Change-Id: Ia77a0ffe4c76854b326ed76490479d9c691b49aa
Partial-Bug: #1698337
2017-06-19 17:13:36 +10:00
..
block_device Sync after writing partition table 2017-06-19 17:13:36 +10:00
elements Install systemd earlier for Stretch 2017-06-19 13:27:33 +10:00
lib Merge "Remove use of 'which'." 2017-06-11 09:30:34 +00:00
tests Move "functional" unit tests under block-device 2017-06-05 12:22:52 +10:00
__init__.py Bump hacking to 0.9.x series 2014-07-21 10:15:41 +02:00
disk_image_create.py squash-package-install to use the correct python 2017-03-13 20:24:39 +11:00
element_dependencies.py Trivial fix typos 2017-05-31 11:17:05 +07:00
logging_config.py Add python logger configuration 2016-06-16 13:54:50 +10:00
paths.py Move diskimage-image-create to an entry point 2016-11-02 05:12:11 +00:00
version.py Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00