Handle errors on partition close am: b1c0524f1c
Original change: https://android-review.googlesource.com/c/platform/system/update_engine/+/2877134
Change-Id: I2d22391b00f5c5dc7536f3e9059015a423ff4183
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/payload_consumer/delta_performer.cc b/payload_consumer/delta_performer.cc
index dcbf2cc..fe32201 100644
--- a/payload_consumer/delta_performer.cc
+++ b/payload_consumer/delta_performer.cc
@@ -530,7 +530,10 @@
manifest_.mutable_dynamic_partition_metadata()
->mutable_vabc_feature_set()
->set_threaded(install_plan_->enable_threading.value());
- LOG(INFO) << "Attempting to enable multi-threaded compression for VABC";
+ LOG(INFO) << "Attempting to "
+ << (install_plan_->enable_threading.value() ? "enable"
+ : "disable")
+ << " multi-threaded compression for VABC";
}
if (install_plan_->batched_writes) {
manifest_.mutable_dynamic_partition_metadata()
@@ -598,7 +601,13 @@
return false;
}
}
- CloseCurrentPartition();
+ const auto err = CloseCurrentPartition();
+ if (err < 0) {
+ LOG(ERROR) << "Failed to close partition "
+ << partitions_[current_partition_].partition_name() << " "
+ << strerror(-err);
+ return false;
+ }
// Skip until there are operations for current_partition_.
while (next_operation_num_ >= acc_num_operations_[current_partition_]) {
current_partition_++;
diff --git a/payload_consumer/vabc_partition_writer.cc b/payload_consumer/vabc_partition_writer.cc
index bcaccce..b4f97d2 100644
--- a/payload_consumer/vabc_partition_writer.cc
+++ b/payload_consumer/vabc_partition_writer.cc
@@ -401,7 +401,9 @@
if (cow_writer_) {
LOG(INFO) << "Finalizing " << partition_update_.partition_name()
<< " COW image";
- cow_writer_->Finalize();
+ if (!cow_writer_->Finalize()) {
+ return -errno;
+ }
cow_writer_ = nullptr;
}
return 0;