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:
parent
106ca8e93f
commit
57130c45f8
1 changed files with 23 additions and 20 deletions
43
roots.cpp
43
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";
|
||||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue