summaryrefslogtreecommitdiffstats
path: root/roots.cpp
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2017-05-11 06:31:21 +0200
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-05-11 06:31:22 +0200
commitd7446c8eed5d5774ba73d6a9bbdb43c5794e86f0 (patch)
tree4e380215c10544178d89198363ed7df2ba4c9b5b /roots.cpp
parentMerge "otautil: Android.mk -> Android.bp" (diff)
parentrecovery: Skip "/" in setup_install_mounts(). (diff)
downloadandroid_bootable_recovery-d7446c8eed5d5774ba73d6a9bbdb43c5794e86f0.tar
android_bootable_recovery-d7446c8eed5d5774ba73d6a9bbdb43c5794e86f0.tar.gz
android_bootable_recovery-d7446c8eed5d5774ba73d6a9bbdb43c5794e86f0.tar.bz2
android_bootable_recovery-d7446c8eed5d5774ba73d6a9bbdb43c5794e86f0.tar.lz
android_bootable_recovery-d7446c8eed5d5774ba73d6a9bbdb43c5794e86f0.tar.xz
android_bootable_recovery-d7446c8eed5d5774ba73d6a9bbdb43c5794e86f0.tar.zst
android_bootable_recovery-d7446c8eed5d5774ba73d6a9bbdb43c5794e86f0.zip
Diffstat (limited to 'roots.cpp')
-rw-r--r--roots.cpp41
1 files changed, 22 insertions, 19 deletions
diff --git a/roots.cpp b/roots.cpp
index 727736b70..9b4270256 100644
--- a/roots.cpp
+++ b/roots.cpp
@@ -260,26 +260,29 @@ int format_volume(const char* volume) {
}
int setup_install_mounts() {
- if (fstab == NULL) {
- LOG(ERROR) << "can't set up install mounts: no fstab loaded";
- return -1;
- }
- for (int i = 0; i < fstab->num_entries; ++i) {
- Volume* v = fstab->recs + i;
+ if (fstab == nullptr) {
+ LOG(ERROR) << "can't set up install mounts: no fstab loaded";
+ return -1;
+ }
+ for (int i = 0; i < fstab->num_entries; ++i) {
+ const Volume* v = fstab->recs + i;
- if (strcmp(v->mount_point, "/tmp") == 0 ||
- strcmp(v->mount_point, "/cache") == 0) {
- if (ensure_path_mounted(v->mount_point) != 0) {
- LOG(ERROR) << "failed to mount " << v->mount_point;
- return -1;
- }
+ // We don't want to do anything with "/".
+ if (strcmp(v->mount_point, "/") == 0) {
+ continue;
+ }
- } else {
- if (ensure_path_unmounted(v->mount_point) != 0) {
- LOG(ERROR) << "failed to unmount " << v->mount_point;
- return -1;
- }
- }
+ if (strcmp(v->mount_point, "/tmp") == 0 || strcmp(v->mount_point, "/cache") == 0) {
+ if (ensure_path_mounted(v->mount_point) != 0) {
+ LOG(ERROR) << "failed to mount " << v->mount_point;
+ return -1;
+ }
+ } else {
+ if (ensure_path_unmounted(v->mount_point) != 0) {
+ LOG(ERROR) << "failed to unmount " << v->mount_point;
+ return -1;
+ }
}
- return 0;
+ }
+ return 0;
}