vold: Increase timeout due to selinux changes
The new selinux_reload_policy command can take a while to complete on
some systems. The reason is being investigated, and hopefully a fix can
be found to improve performance, but for now, increase the timeout that
vold waits for the post_fs_data section to complete when decrypting a
device on boot.
Also, emit a decent error message if the device times out.
Bug: 8967715
Change-Id: Ifb01c983dffe095a9de752c17c467a1751e9ce99
diff --git a/cryptfs.c b/cryptfs.c
index d926334..3af7a5e 100644
--- a/cryptfs.c
+++ b/cryptfs.c
@@ -673,7 +673,7 @@
return rc;
}
-#define DATA_PREP_TIMEOUT 100
+#define DATA_PREP_TIMEOUT 200
static int prep_data_fs(void)
{
int i;
@@ -683,7 +683,7 @@
property_set("vold.decrypt", "trigger_post_fs_data");
SLOGD("Just triggered post_fs_data\n");
- /* Wait a max of 25 seconds, hopefully it takes much less */
+ /* Wait a max of 50 seconds, hopefully it takes much less */
for (i=0; i<DATA_PREP_TIMEOUT; i++) {
char p[PROPERTY_VALUE_MAX];
@@ -696,6 +696,7 @@
}
if (i == DATA_PREP_TIMEOUT) {
/* Ugh, we failed to prep /data in time. Bail. */
+ SLOGE("post_fs_data timed out!\n");
return -1;
} else {
SLOGD("post_fs_data done\n");