diff options
author | Connor O'Brien <connoro@google.com> | 2017-01-24 17:31:14 -0800 |
---|---|---|
committer | Connor O'Brien <connoro@google.com> | 2017-01-24 18:04:02 -0800 |
commit | 98a658bb5457e5527911b78be8d4bc6de092198e (patch) | |
tree | e03f0a512976f7dcbba4b0cd9f301ee351b995e6 /roots.cpp | |
parent | a47631271467248fd90fe1a628bb9249151c7e32 (diff) | |
download | android_bootable_recovery-98a658bb5457e5527911b78be8d4bc6de092198e.tar.gz android_bootable_recovery-98a658bb5457e5527911b78be8d4bc6de092198e.tar.bz2 android_bootable_recovery-98a658bb5457e5527911b78be8d4bc6de092198e.zip |
Use flash erase & logical block size for userdata wipe
If flash erase and logical block size are available, then pass them
to libext4_utils when rebuilding userdata.
Test: Factory reset marlin in recovery, confirmed params passed correctly
Bug: 33243520
Change-Id: I6bed976a73e7a64a80eaac50f48fbacb6d812517
Signed-off-by: Connor O'Brien <connoro@google.com>
Diffstat (limited to 'roots.cpp')
-rw-r--r-- | roots.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -215,7 +215,12 @@ int format_volume(const char* volume, const char* directory) { } int result; if (strcmp(v->fs_type, "ext4") == 0) { - result = make_ext4fs_directory(v->blk_device, length, volume, sehandle, directory); + if (v->erase_blk_size != 0 && v->logical_blk_size != 0) { + result = make_ext4fs_directory_align(v->blk_device, length, volume, sehandle, + directory, v->erase_blk_size, v->logical_blk_size); + } else { + result = make_ext4fs_directory(v->blk_device, length, volume, sehandle, directory); + } } else { /* Has to be f2fs because we checked earlier. */ if (v->key_loc != NULL && strcmp(v->key_loc, "footer") == 0 && length < 0) { LOG(ERROR) << "format_volume: crypt footer + negative length (" << length |