From 5cc1ca1762cc0e4aa955fb50e41fcd810d0641ae Mon Sep 17 00:00:00 2001 From: Konrad Adamczyk Date: Thu, 31 Oct 2024 08:25:54 +0000 Subject: [PATCH] Revert^3 "init: Look for super partition only on a boot device" This reverts commit 5bfb93678fa26e9763699669e6bbf1c2c6a7478d. Reason for revert: b/376468452 and trusty boot up on arm64. This CL is causing a lot of troubles (now only on emulator, but may affect more devices in field) and shall be reverted. Desktop team will handle support for selecting single boot source (while having more than one) as part of boot_part_uuid support (at aosp/3318438). Change-Id: I2804c119631f592d0862f3472ffe18dbb23b17e5 --- init/block_dev_initializer.cpp | 6 +----- init/devices.cpp | 22 ---------------------- init/devices.h | 1 - 3 files changed, 1 insertion(+), 28 deletions(-) diff --git a/init/block_dev_initializer.cpp b/init/block_dev_initializer.cpp index cabeb0109..8f5215856 100644 --- a/init/block_dev_initializer.cpp +++ b/init/block_dev_initializer.cpp @@ -98,11 +98,7 @@ ListenerAction BlockDevInitializer::HandleUevent(const Uevent& uevent, LOG(VERBOSE) << __PRETTY_FUNCTION__ << ": found partition: " << name; - // Remove partition from the list only if it was found on boot device - if (device_handler_->IsBootDevice(uevent)) { - devices->erase(iter); - } - + devices->erase(iter); device_handler_->HandleUevent(uevent); return devices->empty() ? ListenerAction::kStop : ListenerAction::kContinue; } diff --git a/init/devices.cpp b/init/devices.cpp index 6a3a64dd8..f2bb9d276 100644 --- a/init/devices.cpp +++ b/init/devices.cpp @@ -188,28 +188,6 @@ void SysfsPermissions::SetPermissions(const std::string& path) const { } } -bool DeviceHandler::IsBootDevice(const Uevent& uevent) const { - std::string device; - - if (FindPlatformDevice(uevent.path, &device)) { - // Skip /devices/platform or /devices/ if present - static constexpr std::string_view devices_platform_prefix = "/devices/platform/"; - static constexpr std::string_view devices_prefix = "/devices/"; - - if (StartsWith(device, devices_platform_prefix)) { - device = device.substr(devices_platform_prefix.length()); - } else if (StartsWith(device, devices_prefix)) { - device = device.substr(devices_prefix.length()); - } - } else if (FindPciDevicePrefix(uevent.path, &device)) { - } else if (FindVbdDevicePrefix(uevent.path, &device)) { - } else { - return false; - } - - return boot_devices_.find(device) != boot_devices_.end(); -} - std::string DeviceHandler::GetPartitionNameForDevice(const std::string& query_device) { static const auto partition_map = [] { std::vector> partition_map; diff --git a/init/devices.h b/init/devices.h index 4df604d00..6da123259 100644 --- a/init/devices.h +++ b/init/devices.h @@ -133,7 +133,6 @@ class DeviceHandler : public UeventHandler { // `androidboot.partition_map=vdb,metadata;vdc,userdata` maps `vdb` to `metadata` and `vdc` to // `userdata`. static std::string GetPartitionNameForDevice(const std::string& device); - bool IsBootDevice(const Uevent& uevent) const; private: void ColdbootDone() override;