From 59e0600427a7cb72146be1e3f8d7b4f977f4c848 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Tue, 13 Jun 2017 14:22:03 +0300 Subject: filemap: change signature of sparse_copy function Renamed parameter offset->skip to match names of dd parameters. Changed affected sparse_copy calls. Added explanation of the parameters to docstring. (From OE-Core rev: 08e2f4e59816c5757686255b267b08cbc46fbd95) Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- scripts/lib/wic/filemap.py | 15 ++++++++++++--- scripts/lib/wic/plugins/imager/direct.py | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) (limited to 'scripts/lib/wic') diff --git a/scripts/lib/wic/filemap.py b/scripts/lib/wic/filemap.py index 8fe302ab49..8719f443c5 100644 --- a/scripts/lib/wic/filemap.py +++ b/scripts/lib/wic/filemap.py @@ -530,9 +530,18 @@ def filemap(image, log=None): except ErrorNotSupp: return FilemapSeek(image, log) -def sparse_copy(src_fname, dst_fname, offset=0, skip=0, +def sparse_copy(src_fname, dst_fname, skip=0, seek=0, length=0, api=None): - """Efficiently copy sparse file to or into another file.""" + """ + Efficiently copy sparse file to or into another file. + + src_fname: path to source file + dst_fname: path to destination file + skip: skip N bytes at thestart of src + seek: seek N bytes from the start of dst + length: read N bytes from src and write them to dst + api: FilemapFiemap or FilemapSeek object + """ if not api: api = filemap fmap = api(src_fname) @@ -554,7 +563,7 @@ def sparse_copy(src_fname, dst_fname, offset=0, skip=0, start = skip fmap._f_image.seek(start, os.SEEK_SET) - dst_file.seek(offset + start - skip, os.SEEK_SET) + dst_file.seek(seek + start - skip, os.SEEK_SET) chunk_size = 1024 * 1024 to_read = end - start diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index f2e6127331..3cdedd1579 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py @@ -550,7 +550,7 @@ class PartitionedImage(): source = part.source_file if source: # install source_file contents into a partition - sparse_copy(source, self.path, part.start * self.sector_size) + sparse_copy(source, self.path, seek=part.start * self.sector_size) logger.debug("Installed %s in partition %d, sectors %d-%d, " "size %d sectors", source, part.num, part.start, -- cgit v1.2.3-54-g00ecf