From fb921468ab79d40c498844f68b60a802f7742c54 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Thu, 17 Feb 2022 13:05:19 -0800 Subject: [PATCH] fs_mgr: Fix __ANDROID_RECOVERY__ usage in libfiemap. Certain code in libfiemap should be unreachable in recovery/ramdisk builds, but whether intentionally or not, __ANDROID_RECOVERY__ is not working in vendor_boot. To make sure this is doing exactly what we want, use __ANDROID_RAMDISK__ instead. Bug: 205987817 Test: build boot, vendor_boot, recovery Change-Id: Id419f7d9068e791427a896c22569ae4543548df7 --- fs_mgr/libfiemap/image_manager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs_mgr/libfiemap/image_manager.cpp b/fs_mgr/libfiemap/image_manager.cpp index 7ccdbf9ff..c416f4df4 100644 --- a/fs_mgr/libfiemap/image_manager.cpp +++ b/fs_mgr/libfiemap/image_manager.cpp @@ -79,7 +79,7 @@ ImageManager::ImageManager(const std::string& metadata_dir, const std::string& d partition_opener_ = std::make_unique(); // Allow overriding whether ImageManager thinks it's in recovery, for testing. -#ifdef __ANDROID_RECOVERY__ +#ifdef __ANDROID_RAMDISK__ device_info_.is_recovery = {true}; #else if (!device_info_.is_recovery.has_value()) { @@ -523,7 +523,7 @@ bool ImageManager::MapImageDevice(const std::string& name, auto image_header = GetImageHeaderPath(name); -#if !defined __ANDROID_RECOVERY__ +#ifndef __ANDROID_RAMDISK__ // If there is a device-mapper node wrapping the block device, then we're // able to create another node around it; the dm layer does not carry the // exclusion lock down the stack when a mount occurs.