Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5cc1ca17 authored by Konrad Adamczyk's avatar Konrad Adamczyk Committed by Gerrit Code Review
Browse files

Revert^3 "init: Look for super partition only on a boot device"

This reverts commit 5bfb9367.

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
parent 5bfb9367
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -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);
    }

    device_handler_->HandleUevent(uevent);
    return devices->empty() ? ListenerAction::kStop : ListenerAction::kContinue;
}
+0 −22
Original line number Diff line number Diff line
@@ -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<std::pair<std::string, std::string>> partition_map;
+0 −1
Original line number Diff line number Diff line
@@ -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;