recovery: Skip "/" in setup_install_mounts().

We don't want to do anything for "/" when preparing for an install.

Bug: 36686818
Test: adb sideload on angler/marlin respectively.
Change-Id: Id854dd0a743a0e163a8f13baf2514105091ddc67
This commit is contained in:
Tao Bao 2017-05-10 12:11:21 -07:00
parent 106ca8e93f
commit 57130c45f8

View file

@ -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";
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;
// We don't want to do anything with "/".
if (strcmp(v->mount_point, "/") == 0) {
continue;
}
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;
}
}
for (int i = 0; i < fstab->num_entries; ++i) {
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;
}
} else {
if (ensure_path_unmounted(v->mount_point) != 0) {
LOG(ERROR) << "failed to unmount " << v->mount_point;
return -1;
}
}
}
return 0;
}
return 0;
}