update_engine: uint64_t GetPartitionSize()
GetPartitionSize() was truncating our endOffset when the function runs
on a 32 bit device with partition size > 2^32 bytes. This resulted in
early termination of verification phase of OTA without any complaints on
update_engine side. This early termination then resulted in some cryptic
I/O requests that had led us to think there was a dm-user/snapuserd I/O
failure rather than a failure in userspace.
Bug: 361048795
Test: partial OTA of product partition on p11 device
Change-Id: Id4fb8166db09f12232f8f39f8a151b1a85cbf501
diff --git a/payload_consumer/filesystem_verifier_action.h b/payload_consumer/filesystem_verifier_action.h
index 5bc44b1..79ef64f 100644
--- a/payload_consumer/filesystem_verifier_action.h
+++ b/payload_consumer/filesystem_verifier_action.h
@@ -109,7 +109,7 @@
bool IsVABC(const InstallPlan::Partition& partition) const;
- size_t GetPartitionSize() const;
+ uint64_t GetPartitionSize() const;
// When the read is done, finalize the hash checking of the current partition
// and continue checking the next one.