aboutsummaryrefslogtreecommitdiffstats
path: root/roots.c
diff options
context:
space:
mode:
authorKen Sumrall <ksumrall@android.com>2011-01-14 18:55:05 -0800
committerKen Sumrall <ksumrall@android.com>2011-01-19 17:12:47 -0800
commit8f132ed870b4b83727d59f8019b8fabe49fe8ed4 (patch)
treea5f2aac0d8bbd1bca7288bce9dacc0cc47311c62 /roots.c
parentbe3e6f13b810046fb1981b21d9e6f0715ae67a22 (diff)
downloadbootable_recovery-8f132ed870b4b83727d59f8019b8fabe49fe8ed4.zip
bootable_recovery-8f132ed870b4b83727d59f8019b8fabe49fe8ed4.tar.gz
bootable_recovery-8f132ed870b4b83727d59f8019b8fabe49fe8ed4.tar.bz2
Reserve the last 16 Kbytes of /data for the crypto footer.
When formatting /data, if it's an ext4 filesystem, reserve the last 16 Kbytes for the crypto footer. Change-Id: I7b401d851ee87732e5da5860df0287a1c331c5b7
Diffstat (limited to 'roots.c')
-rw-r--r--roots.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/roots.c b/roots.c
index 92ce789..5731d74 100644
--- a/roots.c
+++ b/roots.c
@@ -238,8 +238,12 @@ int format_volume(const char* volume) {
}
if (strcmp(v->fs_type, "ext4") == 0) {
- reset_ext4fs_info();
- int result = make_ext4fs(v->device, NULL, NULL, 0, 0, 0, 0);
+ s64 len = 0;
+
+ if (strcmp(volume, "/data") == 0) {
+ len = -16384; /* Reserve 16 Kbytes for the crypto footer */
+ }
+ int result = make_ext4fs(v->device, len);
if (result != 0) {
LOGE("format_volume: make_extf4fs failed on %s\n", v->device);
return -1;