Add OpenCowReader interface method to dynamic partition control

Test: treehugger
Change-Id: I393fc36372f9e979da1a6c7e49c7782a7372a5b9
diff --git a/aosp/dynamic_partition_control_android.cc b/aosp/dynamic_partition_control_android.cc
index d296c53..7ccc39a 100644
--- a/aosp/dynamic_partition_control_android.cc
+++ b/aosp/dynamic_partition_control_android.cc
@@ -1256,6 +1256,18 @@
   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)) {