Merge "first_stage_mount: Remove "overlay" hack from InitRequiredDevices()"
diff --git a/init/first_stage_mount.cpp b/init/first_stage_mount.cpp
index a733839..87e23ab 100644
--- a/init/first_stage_mount.cpp
+++ b/init/first_stage_mount.cpp
@@ -331,12 +331,6 @@
if (devices.empty()) {
return true;
}
- // excluding overlays
- for (auto iter = devices.begin(); iter != devices.end(); ) {
- if (*iter=="overlay") iter = devices.erase(iter);
- else iter++;
- }
-
return block_dev_init_.InitDevices(std::move(devices));
}
@@ -695,6 +689,10 @@
// Includes the partition names of fstab records.
// Notes that fstab_rec->blk_device has A/B suffix updated by fs_mgr when A/B is used.
for (const auto& fstab_entry : fstab_) {
+ // Skip pseudo filesystems.
+ if (fstab_entry.fs_type == "overlay") {
+ continue;
+ }
if (!fstab_entry.fs_mgr_flags.logical) {
devices->emplace(basename(fstab_entry.blk_device.c_str()));
}
@@ -757,6 +755,10 @@
if (fstab_entry.fs_mgr_flags.avb) {
need_dm_verity_ = true;
}
+ // Skip pseudo filesystems.
+ if (fstab_entry.fs_type == "overlay") {
+ continue;
+ }
if (fstab_entry.fs_mgr_flags.logical) {
// Don't try to find logical partitions via uevent regeneration.
logical_partitions.emplace(basename(fstab_entry.blk_device.c_str()));