From: Ed Bartosh Date: Wed, 22 Mar 2017 13:42:28 +0000 (+0200) Subject: wic: fix bug in sparse_copy X-Git-Tag: uninative-1.6~54 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=567186f995302a095a771baede4ff5034d1d1862;p=openembedded-core.git wic: fix bug in sparse_copy sparse_copy creates output file that is smaller than input file when input file ends with unmapped blocks. Used truncate() when output file is created to ensure the size of output file will always be equal to the size of input file. Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- diff --git a/scripts/lib/wic/filemap.py b/scripts/lib/wic/filemap.py index 162603ed0a..080668e7c2 100644 --- a/scripts/lib/wic/filemap.py +++ b/scripts/lib/wic/filemap.py @@ -537,6 +537,7 @@ def sparse_copy(src_fname, dst_fname, offset=0, skip=0): dst_file = open(dst_fname, 'r+b') except IOError: dst_file = open(dst_fname, 'wb') + dst_file.truncate(os.path.getsize(src_fname)) for first, last in fmap.get_mapped_ranges(0, fmap.blocks_cnt): start = first * fmap.block_size