summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKelvin Zhang <zhangkelvin@google.com>2021-01-25 13:35:10 -0500
committerKelvin Zhang <zhangkelvin@google.com>2021-01-25 13:40:01 -0500
commit66a9ebbf3bcc80cfc2c31d36176882f8cf83b1c5 (patch)
tree912c75fb6ca00fabad6818a562cf9fa11f6ddb9d
parentb9a5f61c2e076838d64c31ba16471094a3e1053a (diff)
Correctly propagate not_in_payload flag
When mapping partitions, not_in_payload flag decides if the partition needs to be mapped as a snapshot backed by COW, propagate this flag. Test: treehugger Change-Id: I9f0073fb91067410978927e59bf51c4f2cd152e6
-rw-r--r--aosp/dynamic_partition_control_android.cc3
-rw-r--r--aosp/dynamic_partition_control_android.h2
-rw-r--r--aosp/dynamic_partition_control_android_unittest.cc4
3 files changed, 5 insertions, 4 deletions
diff --git a/aosp/dynamic_partition_control_android.cc b/aosp/dynamic_partition_control_android.cc
index c75d5e94..ff2d7ee3 100644
--- a/aosp/dynamic_partition_control_android.cc
+++ b/aosp/dynamic_partition_control_android.cc
@@ -967,7 +967,8 @@ bool DynamicPartitionControlAndroid::GetPartitionDevice(
bool not_in_payload,
std::string* device,
bool* is_dynamic) {
- auto partition_dev = GetPartitionDevice(partition_name, slot, current_slot);
+ auto partition_dev =
+ GetPartitionDevice(partition_name, slot, current_slot, not_in_payload);
if (!partition_dev.has_value()) {
return false;
}
diff --git a/aosp/dynamic_partition_control_android.h b/aosp/dynamic_partition_control_android.h
index ecab6fa7..9e112799 100644
--- a/aosp/dynamic_partition_control_android.h
+++ b/aosp/dynamic_partition_control_android.h
@@ -76,7 +76,7 @@ class DynamicPartitionControlAndroid : public DynamicPartitionControlInterface {
const std::string& partition_name,
uint32_t slot,
uint32_t current_slot,
- bool not_in_payload = false);
+ bool not_in_payload);
// Deprecated, please use GetPartitionDevice(string, uint32_t, uint32_t);
// TODO(zhangkelvin) Remove below deprecated APIs.
bool GetPartitionDevice(const std::string& partition_name,
diff --git a/aosp/dynamic_partition_control_android_unittest.cc b/aosp/dynamic_partition_control_android_unittest.cc
index af5ae2c0..b2e5c897 100644
--- a/aosp/dynamic_partition_control_android_unittest.cc
+++ b/aosp/dynamic_partition_control_android_unittest.cc
@@ -425,7 +425,7 @@ TEST_P(DynamicPartitionControlAndroidTestP, GetMountableDevicePath) {
// If VABC is disabled, mountable device path should be same as device path.
auto device_info =
- dynamicControl().GetPartitionDevice("system", target(), source());
+ dynamicControl().GetPartitionDevice("system", target(), source(), false);
ASSERT_TRUE(device_info.has_value());
ASSERT_EQ(device_info->mountable_device_path, device);
}
@@ -465,7 +465,7 @@ TEST_P(DynamicPartitionControlAndroidTestP, GetMountableDevicePathVABC) {
ASSERT_EQ("", device);
auto device_info =
- dynamicControl().GetPartitionDevice("system", target(), source());
+ dynamicControl().GetPartitionDevice("system", target(), source(), false);
ASSERT_TRUE(device_info.has_value());
ASSERT_EQ(device_info->mountable_device_path, GetDevice(T("system")));
}