Revert "first_stage_mount: Create snapshot devices before launching first_stage_console"
This reverts commit 9583e92257ab85075231b014f0999d5a5dab9910.
Reason for revert: <fail to flash a device>
Bug: 178433260
Change-Id: I0e9ab3eff38ddf9ad420cf1479eca16f6f29d1b5
diff --git a/init/first_stage_init.cpp b/init/first_stage_init.cpp
index f01a6c0..6954c03 100644
--- a/init/first_stage_init.cpp
+++ b/init/first_stage_init.cpp
@@ -286,11 +286,7 @@
}
}
-
if (want_console == FirstStageConsoleParam::CONSOLE_ON_FAILURE) {
- if (!DoCreateDevices()) {
- LOG(ERROR) << "Failed to create device nodes early";
- }
StartConsole(cmdline);
}
@@ -331,7 +327,7 @@
}
}
- if (!DoFirstStageMount(want_console != FirstStageConsoleParam::CONSOLE_ON_FAILURE)) {
+ if (!DoFirstStageMount()) {
LOG(FATAL) << "Failed to mount required partitions early ...";
}
diff --git a/init/first_stage_mount.cpp b/init/first_stage_mount.cpp
index de72f23..7307237 100644
--- a/init/first_stage_mount.cpp
+++ b/init/first_stage_mount.cpp
@@ -82,7 +82,6 @@
// The factory method to create either FirstStageMountVBootV1 or FirstStageMountVBootV2
// based on device tree configurations.
static std::unique_ptr<FirstStageMount> Create();
- bool DoCreateDevices(); // Creates devices and logical partitions from storage devices
bool DoFirstStageMount(); // Mounts fstab entries read from device tree.
bool InitDevices();
@@ -245,7 +244,13 @@
}
}
-bool FirstStageMount::DoCreateDevices() {
+bool FirstStageMount::DoFirstStageMount() {
+ if (!IsDmLinearEnabled() && fstab_.empty()) {
+ // Nothing to mount.
+ LOG(INFO) << "First stage mount skipped (missing/incompatible/empty fstab in device tree)";
+ return true;
+ }
+
if (!InitDevices()) return false;
// Mount /metadata before creating logical partitions, since we need to
@@ -264,16 +269,6 @@
if (!CreateLogicalPartitions()) return false;
- return true;
-}
-
-bool FirstStageMount::DoFirstStageMount() {
- if (!IsDmLinearEnabled() && fstab_.empty()) {
- // Nothing to mount.
- LOG(INFO) << "First stage mount skipped (missing/incompatible/empty fstab in device tree)";
- return true;
- }
-
if (!MountPartitions()) return false;
return true;
@@ -834,18 +829,8 @@
// Public functions
// ----------------
-// Creates devices and logical partitions from storage devices
-bool DoCreateDevices() {
- std::unique_ptr<FirstStageMount> handle = FirstStageMount::Create();
- if (!handle) {
- LOG(ERROR) << "Failed to create FirstStageMount";
- return false;
- }
- return handle->DoCreateDevices();
-}
-
// Mounts partitions specified by fstab in device tree.
-bool DoFirstStageMount(bool create_devices) {
+bool DoFirstStageMount() {
// Skips first stage mount if we're in recovery mode.
if (IsRecoveryMode()) {
LOG(INFO) << "First stage mount skipped (recovery mode)";
@@ -857,11 +842,6 @@
LOG(ERROR) << "Failed to create FirstStageMount";
return false;
}
-
- if (create_devices) {
- if (!handle->DoCreateDevices()) return false;
- }
-
return handle->DoFirstStageMount();
}
diff --git a/init/first_stage_mount.h b/init/first_stage_mount.h
index 2f4e663..21d87fd 100644
--- a/init/first_stage_mount.h
+++ b/init/first_stage_mount.h
@@ -19,8 +19,7 @@
namespace android {
namespace init {
-bool DoCreateDevices();
-bool DoFirstStageMount(bool create_devices);
+bool DoFirstStageMount();
void SetInitAvbVersionInRecovery();
} // namespace init