diff options
Diffstat (limited to 'payload_consumer/install_plan.cc')
-rw-r--r-- | payload_consumer/install_plan.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/payload_consumer/install_plan.cc b/payload_consumer/install_plan.cc index 4638fbe0..c7ef7b20 100644 --- a/payload_consumer/install_plan.cc +++ b/payload_consumer/install_plan.cc @@ -87,12 +87,19 @@ void InstallPlan::Dump() const { base::StringPrintf(", system_version: %s", system_version.c_str()); } + string url_str = download_url; + if (base::StartsWith( + url_str, "fd://", base::CompareCase::INSENSITIVE_ASCII)) { + int fd = std::stoi(url_str.substr(strlen("fd://"))); + url_str = utils::GetFilePath(fd); + } + LOG(INFO) << "InstallPlan: " << (is_resume ? "resume" : "new_update") << version_str << ", source_slot: " << BootControlInterface::SlotName(source_slot) << ", target_slot: " << BootControlInterface::SlotName(target_slot) - << ", initial url: " << download_url << payloads_str - << partitions_str << ", hash_checks_mandatory: " + << ", initial url: " << url_str << payloads_str << partitions_str + << ", hash_checks_mandatory: " << utils::ToString(hash_checks_mandatory) << ", powerwash_required: " << utils::ToString(powerwash_required) << ", switch_slot_on_reboot: " @@ -105,7 +112,8 @@ void InstallPlan::Dump() const { bool InstallPlan::LoadPartitionsFromSlots(BootControlInterface* boot_control) { bool result = true; for (Partition& partition : partitions) { - if (source_slot != BootControlInterface::kInvalidSlot) { + if (source_slot != BootControlInterface::kInvalidSlot && + partition.source_size > 0) { result = boot_control->GetPartitionDevice( partition.name, source_slot, &partition.source_path) && result; |