mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-23 06:31:18 +02:00
There appear to be race conditions in some environments around mounting and unmounting a file system quickly failing due to a device in use error. This change removes the extra umount/mount/rm/umount sequence around rootfs/filler which was done to ensure the file was being synced to disk. Instead the dd command has added conv=fdatasync which causes it to sync the file to disk on completion. This also fixes a possible loopback device leak where the unmount would fail and then build output directory deletion would fail because the rootfs was still mounted, leaking both disk space and loopback devices. BUG=chromium-os:22308 TEST=Ran filefrag on filler, validated that rootfs.image has blocks of 0 bytes in each position Compressed chromiumos_base_image.bin, compared size to previous build_image Booted image on tegra2 device, confirmed it still boots Change-Id: I097440b7abefd4a0d25f743e968f33a1531a7a21 Reviewed-on: https://gerrit.chromium.org/gerrit/11487 Reviewed-by: Thieu Le <thieule@chromium.org> Tested-by: Jon Kliegman <kliegs@chromium.org> Reviewed-by: Paul Taysom <taysom@google.com> Reviewed-by: David James <davidjames@chromium.org> Commit-Ready: Jon Kliegman <kliegs@chromium.org> Reviewed-by: Jon Kliegman <kliegs@chromium.org>