init: always initialize device-mapper

Device-mapper is required already, so drop the conditionals for trying to
load it.  GetRootEntry() was depending on its existance, so this adds the
required dependency.

Bug: 131747478
Test: boot without any verity/avb/dm-linear devices.
Change-Id: Ifc89d3b338e2c2b8faaf1c24e2792c1eeb5bbbde
This commit is contained in:
Tom Cherry 2019-05-15 11:09:49 -07:00
parent a6e6c7d966
commit eef2a703ad

View file

@ -276,14 +276,12 @@ bool FirstStageMount::GetDmLinearMetadataDevice() {
// required_devices_partition_names_. Found partitions will then be removed from it
// for the subsequent member function to check which devices are NOT created.
bool FirstStageMount::InitRequiredDevices() {
if (required_devices_partition_names_.empty()) {
return true;
if (!InitDeviceMapper()) {
return false;
}
if (IsDmLinearEnabled() || need_dm_verity_) {
if (!InitDeviceMapper()) {
return false;
}
if (required_devices_partition_names_.empty()) {
return true;
}
auto uevent_callback = [this](const Uevent& uevent) { return UeventCallback(uevent); };
@ -604,12 +602,6 @@ void FirstStageMount::UseGsiIfPresent() {
return;
}
// Device-mapper might not be ready if the device doesn't use DAP or verity
// (for example, hikey).
if (access("/dev/device-mapper", F_OK) && !InitDeviceMapper()) {
return;
}
// Find the name of the super partition for the GSI. It will either be
// "userdata", or a block device such as an sdcard. There are no by-name
// partitions other than userdata that we support installing GSIs to.