From 575d68a48edc90d655509f2980dacc69958948de Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Fri, 7 Aug 2015 19:49:45 -0700 Subject: [PATCH] Change the cache partition size check into warnings. For some old builds, we may not define cache partition size. Change the exception into a warning to make the script backward compatible. Change-Id: Ie94c7fbb1a9f3a7db3f16e8d845e493a534aac5b --- tools/releasetools/blockimgdiff.py | 16 +++++++++++----- tools/releasetools/common.py | 3 +++ tools/releasetools/ota_from_target_files.py | 5 +---- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/tools/releasetools/blockimgdiff.py b/tools/releasetools/blockimgdiff.py index a007f812f..a32c6b1e1 100644 --- a/tools/releasetools/blockimgdiff.py +++ b/tools/releasetools/blockimgdiff.py @@ -461,7 +461,7 @@ class BlockImageDiff(object): if free_string: out.append("".join(free_string)) - if self.version >= 2: + if self.version >= 2 and common.OPTIONS.cache_size is not None: # Sanity check: abort if we're going to need more stash space than # the allowed size (cache_size * threshold). There are two purposes # of having a threshold here. a) Part of the cache may have been @@ -502,10 +502,16 @@ class BlockImageDiff(object): if self.version >= 2: max_stashed_size = max_stashed_blocks * self.tgt.blocksize - max_allowed = common.OPTIONS.cache_size * common.OPTIONS.stash_threshold - print("max stashed blocks: %d (%d bytes), limit: %d bytes (%.2f%%)\n" % ( - max_stashed_blocks, max_stashed_size, max_allowed, - max_stashed_size * 100.0 / max_allowed)) + OPTIONS = common.OPTIONS + if OPTIONS.cache_size is not None: + max_allowed = OPTIONS.cache_size * OPTIONS.stash_threshold + print("max stashed blocks: %d (%d bytes), " + "limit: %d bytes (%.2f%%)\n" % ( + max_stashed_blocks, max_stashed_size, max_allowed, + max_stashed_size * 100.0 / max_allowed)) + else: + print("max stashed blocks: %d (%d bytes), limit: \n" % ( + max_stashed_blocks, max_stashed_size)) def ComputePatches(self, prefix): print("Reticulating splines...") diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index a67f044ad..051a22d0d 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -57,6 +57,9 @@ class Options(object): self.extras = {} self.info_dict = None self.worker_threads = None + # Stash size cannot exceed cache_size * threshold. + self.cache_size = None + self.stash_threshold = 0.8 OPTIONS = Options() diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py index 03b7e0501..e40d06ae6 100755 --- a/tools/releasetools/ota_from_target_files.py +++ b/tools/releasetools/ota_from_target_files.py @@ -125,9 +125,6 @@ OPTIONS.updater_binary = None OPTIONS.oem_source = None OPTIONS.fallback_to_full = True OPTIONS.full_radio = False -# Stash size cannot exceed cache_size * threshold. -OPTIONS.cache_size = None -OPTIONS.stash_threshold = 0.8 def MostPopularKey(d, default): @@ -1594,7 +1591,7 @@ def main(argv): cache_size = OPTIONS.info_dict.get("cache_size", None) if cache_size is None: - raise RuntimeError("can't determine the cache partition size") + print "--- can't determine the cache partition size ---" OPTIONS.cache_size = cache_size if OPTIONS.incremental_source is None: