forked from openkylin/platform_build
Calculate max_stashed_blocks correctly for block OTA v3
The updater automatically stashes overlapping source blocks to make it possible to resume if the command performing the update is interrupted. However, blockimgdiff.py does not take this into account and therefore, max_stashed_blocks indicates only the number of explicitly stashed blocks. Change blockimgdiff.py to correctly calculate the maximum used stash space, including any automatically stashed blocks. Bug: 20309033 Change-Id: Ibf5cb1abc38c54e60a6ad3ce4cbce43556b08ac2
This commit is contained in:
parent
3a5602ebb8
commit
29f529f33e
tools/releasetools
|
@ -396,6 +396,12 @@ class BlockImageDiff(object):
|
|||
xf.style,
|
||||
xf.tgt_ranges.to_string_raw(), src_str))
|
||||
elif self.version >= 3:
|
||||
# take into account automatic stashing of overlapping blocks
|
||||
if xf.src_ranges.overlaps(xf.tgt_ranges):
|
||||
temp_stash_usage = stashed_blocks + xf.src_ranges.size();
|
||||
if temp_stash_usage > max_stashed_blocks:
|
||||
max_stashed_blocks = temp_stash_usage
|
||||
|
||||
out.append("%s %s %s %s\n" % (
|
||||
xf.style,
|
||||
self.HashBlocks(self.tgt, xf.tgt_ranges),
|
||||
|
@ -414,6 +420,12 @@ class BlockImageDiff(object):
|
|||
xf.style, xf.patch_start, xf.patch_len,
|
||||
xf.tgt_ranges.to_string_raw(), src_str))
|
||||
elif self.version >= 3:
|
||||
# take into account automatic stashing of overlapping blocks
|
||||
if xf.src_ranges.overlaps(xf.tgt_ranges):
|
||||
temp_stash_usage = stashed_blocks + xf.src_ranges.size();
|
||||
if temp_stash_usage > max_stashed_blocks:
|
||||
max_stashed_blocks = temp_stash_usage
|
||||
|
||||
out.append("%s %d %d %s %s %s %s\n" % (
|
||||
xf.style,
|
||||
xf.patch_start, xf.patch_len,
|
||||
|
|
Loading…
Reference in New Issue