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 commitee19387905
. Bug: 19967123 Change-Id: I2a977cb0f0ba94defa1bf9091219398ddc1d3528 (cherry picked from commit037444642b
)
This commit is contained in:
parent
20e82d4fb6
commit
c277762de1
3 changed files with 0 additions and 44 deletions
|
@ -695,7 +695,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");
|
||||
}
|
||||
|
||||
|
@ -1102,7 +1101,6 @@ main(int argc, char **argv) {
|
|||
if (device->WipeData()) status = INSTALL_ERROR;
|
||||
if (erase_volume("/data")) status = INSTALL_ERROR;
|
||||
if (should_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 (should_wipe_cache) {
|
||||
if (should_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