diff options
author | Tao Bao <tbao@google.com> | 2017-05-11 06:31:21 +0200 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-05-11 06:31:22 +0200 |
commit | d7446c8eed5d5774ba73d6a9bbdb43c5794e86f0 (patch) | |
tree | 4e380215c10544178d89198363ed7df2ba4c9b5b | |
parent | Merge "otautil: Android.mk -> Android.bp" (diff) | |
parent | recovery: Skip "/" in setup_install_mounts(). (diff) | |
download | android_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 |
-rw-r--r-- | roots.cpp | 41 |
1 files changed, 22 insertions, 19 deletions
@@ -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; } |