aboutsummaryrefslogtreecommitdiffstats
path: root/roots.cpp
diff options
context:
space:
mode:
authorYifan Hong <elsk@google.com>2018-11-26 14:59:09 -0800
committerYifan Hong <elsk@google.com>2018-11-27 15:57:47 -0800
commit49327806062652db999f3f0a7f360edb3047791a (patch)
tree6ab66ac6da9121f2b1d505b428dbc5896684723b /roots.cpp
parentfb8a636a2d4f541877759a8788546975f731eec6 (diff)
downloadandroid_bootable_recovery-49327806062652db999f3f0a7f360edb3047791a.tar.gz
android_bootable_recovery-49327806062652db999f3f0a7f360edb3047791a.tar.bz2
android_bootable_recovery-49327806062652db999f3f0a7f360edb3047791a.zip
SYSTEM_ROOT -> get_system_root
Add a get_system_root() function in roots.cpp which returns / or /system based on fstab. This factors out the 'if' check from recovery.cpp and fsck_unshare_blocks.cpp. Test: boot recovery, mount system Bug: 118634720 Change-Id: If4947cba3a3f08dbe695fd2b50a9354cd302ee03
Diffstat (limited to 'roots.cpp')
-rw-r--r--roots.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/roots.cpp b/roots.cpp
index dc347848..e68cb20b 100644
--- a/roots.cpp
+++ b/roots.cpp
@@ -44,6 +44,7 @@
static struct fstab* fstab = nullptr;
static bool did_map_logical_partitions = false;
+static constexpr const char* SYSTEM_ROOT = "/system";
extern struct selabel_handle* sehandle;
@@ -412,3 +413,11 @@ int setup_install_mounts() {
bool logical_partitions_mapped() {
return did_map_logical_partitions;
}
+
+std::string get_system_root() {
+ if (volume_for_mount_point(SYSTEM_ROOT) == nullptr) {
+ return "/";
+ } else {
+ return SYSTEM_ROOT;
+ }
+}