Implement ExtentLess correctly
If two extents start on the same block but have different number of
blocks, current impl of ExtentLess will consider them equal.
Test: th
Change-Id: Ief147f9d0a91b3dcd7f8ccc690f3aea972cbeabb
diff --git a/payload_consumer/extent_map.h b/payload_consumer/extent_map.h
index aeb7066..65f1bcd 100644
--- a/payload_consumer/extent_map.h
+++ b/payload_consumer/extent_map.h
@@ -22,6 +22,7 @@
#include <utility>
#include "update_engine/common/utils.h"
+#include "update_engine/payload_generator/extent_utils.h"
#include "update_engine/payload_generator/extent_ranges.h"
#include "update_engine/update_metadata.pb.h"
@@ -35,7 +36,7 @@
class ExtentMap {
public:
bool AddExtent(const Extent& extent, T&& value) {
- if (Get(extent)) {
+ if (set_.OverlapsWithExtent(extent)) {
return false;
}
const auto& [it, inserted] = map_.insert({extent, std::forward<T>(value)});