Revert "Erase PST partition if its marked to be erased."
This now gets done at the framework level.
Doing it here breaks the signature on the partition.
This reverts commit ee19387905
.
Bug: 19967123
Change-Id: I447b926b733ca145f11a916d9569ce39889db627
This commit is contained in:
parent
65ae9e1ea6
commit
037444642b
3 changed files with 0 additions and 44 deletions
|
@ -693,7 +693,6 @@ static void wipe_data(int confirm, Device* device) {
|
|||
device->WipeData();
|
||||
erase_volume("/data");
|
||||
erase_volume("/cache");
|
||||
erase_persistent_partition();
|
||||
ui->Print("Data wipe complete.\n");
|
||||
}
|
||||
|
||||
|
@ -1100,7 +1099,6 @@ main(int argc, char **argv) {
|
|||
if (device->WipeData()) status = INSTALL_ERROR;
|
||||
if (erase_volume("/data")) status = INSTALL_ERROR;
|
||||
if (wipe_cache && erase_volume("/cache")) status = INSTALL_ERROR;
|
||||
if (erase_persistent_partition() == -1 ) status = INSTALL_ERROR;
|
||||
if (status != INSTALL_SUCCESS) ui->Print("Data wipe failed.\n");
|
||||
} else if (wipe_cache) {
|
||||
if (wipe_cache && erase_volume("/cache")) status = INSTALL_ERROR;
|
||||
|
|
37
roots.cpp
37
roots.cpp
|
@ -39,8 +39,6 @@ static struct fstab *fstab = NULL;
|
|||
|
||||
extern struct selabel_handle *sehandle;
|
||||
|
||||
static const char* PERSISTENT_PATH = "/persistent";
|
||||
|
||||
void load_volume_table()
|
||||
{
|
||||
int i;
|
||||
|
@ -266,41 +264,6 @@ int format_volume(const char* volume) {
|
|||
return -1;
|
||||
}
|
||||
|
||||
int erase_persistent_partition() {
|
||||
Volume *v = volume_for_path(PERSISTENT_PATH);
|
||||
if (v == NULL) {
|
||||
// most devices won't have /persistent, so this is not an error.
|
||||
return 0;
|
||||
}
|
||||
|
||||
int fd = open(v->blk_device, O_RDWR);
|
||||
uint64_t size = get_file_size(fd);
|
||||
if (size == 0) {
|
||||
LOGE("failed to stat size of /persistent\n");
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
char oem_unlock_enabled;
|
||||
lseek(fd, size - 1, SEEK_SET);
|
||||
read(fd, &oem_unlock_enabled, 1);
|
||||
|
||||
if (oem_unlock_enabled) {
|
||||
if (wipe_block_device(fd, size)) {
|
||||
LOGE("error wiping /persistent: %s\n", strerror(errno));
|
||||
close(fd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
lseek(fd, size - 1, SEEK_SET);
|
||||
write(fd, &oem_unlock_enabled, 1);
|
||||
}
|
||||
|
||||
close(fd);
|
||||
|
||||
return (int) oem_unlock_enabled;
|
||||
}
|
||||
|
||||
int setup_install_mounts() {
|
||||
if (fstab == NULL) {
|
||||
LOGE("can't set up install mounts: no fstab loaded\n");
|
||||
|
|
5
roots.h
5
roots.h
|
@ -46,11 +46,6 @@ int format_volume(const char* volume);
|
|||
// mounted (/tmp and /cache) are mounted. Returns 0 on success.
|
||||
int setup_install_mounts();
|
||||
|
||||
// Conditionally wipes the /persistent partition if it's marked
|
||||
// to wipe. Returns -1 on failure, 1 if the partition was wiped
|
||||
// and 0 if the partition was not wiped.
|
||||
int erase_persistent_partition();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue