summaryrefslogtreecommitdiff
path: root/aosp/dynamic_partition_control_android.cc
diff options
context:
space:
mode:
authorKelvin Zhang <zhangkelvin@google.com>2020-11-06 16:01:24 -0500
committerKelvin Zhang <zhangkelvin@google.com>2020-11-16 19:26:48 +0000
commitc82511cd8f159f8265d361aa9d9e10ba6b920a35 (patch)
tree2d278de5917a11167c64d584e61e17f249c92fe1 /aosp/dynamic_partition_control_android.cc
parent999705e45c71fedfffb08eb5b1ead4817c4d3c8b (diff)
Add OpenCowReader interface method to dynamic partition control
Test: treehugger Change-Id: I393fc36372f9e979da1a6c7e49c7782a7372a5b9
Diffstat (limited to 'aosp/dynamic_partition_control_android.cc')
-rw-r--r--aosp/dynamic_partition_control_android.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/aosp/dynamic_partition_control_android.cc b/aosp/dynamic_partition_control_android.cc
index d296c53a..7ccc39a0 100644
--- a/aosp/dynamic_partition_control_android.cc
+++ b/aosp/dynamic_partition_control_android.cc
@@ -1256,6 +1256,18 @@ DynamicPartitionControlAndroid::OpenCowWriter(
return snapshot_->OpenSnapshotWriter(params, std::move(source_path));
} // namespace chromeos_update_engine
+FileDescriptorPtr DynamicPartitionControlAndroid::OpenCowReader(
+ const std::string& unsuffixed_partition_name,
+ const std::optional<std::string>& source_path,
+ bool is_append) {
+ auto cow_writer =
+ OpenCowWriter(unsuffixed_partition_name, source_path, is_append);
+ if (cow_writer == nullptr) {
+ return nullptr;
+ }
+ return cow_writer->OpenReader();
+}
+
std::optional<base::FilePath> DynamicPartitionControlAndroid::GetSuperDevice() {
std::string device_dir_str;
if (!GetDeviceDir(&device_dir_str)) {