init: Reorder GetBlockDeviceSymlinks() so FindDmDevice() is first
By moving FindDmDevice() it's easier to unify the code with the
IsBootDevice() function. In this case the order doesn't matter since
anything with the uevent path "/devices/virtual/block/dm-" (the only
devices FindDmDevice() looks at) won't match any of the other sections
of the if/then/else test.
Bug: 316324155
Test: Build & boot
Change-Id: I819eb60aa5077f0eb2c2f2783b152e43a52ba8b7
diff --git a/init/devices.cpp b/init/devices.cpp
index f2bb9d2..0af843f 100644
--- a/init/devices.cpp
+++ b/init/devices.cpp
@@ -376,7 +376,13 @@
std::string partition;
std::string uuid;
- if (FindPlatformDevice(uevent.path, &device)) {
+ if (FindDmDevice(uevent, &partition, &uuid)) {
+ std::vector<std::string> symlinks = {"/dev/block/mapper/" + partition};
+ if (!uuid.empty()) {
+ symlinks.emplace_back("/dev/block/mapper/by-uuid/" + uuid);
+ }
+ return symlinks;
+ } else 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/";
@@ -392,12 +398,6 @@
type = "pci";
} else if (FindVbdDevicePrefix(uevent.path, &device)) {
type = "vbd";
- } else if (FindDmDevice(uevent, &partition, &uuid)) {
- std::vector<std::string> symlinks = {"/dev/block/mapper/" + partition};
- if (!uuid.empty()) {
- symlinks.emplace_back("/dev/block/mapper/by-uuid/" + uuid);
- }
- return symlinks;
} else {
return {};
}