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
This commit is contained in:
Ken Sumrall 2013-05-14 15:26:31 -07:00
parent bc7d5088f7
commit c587269c5a

View file

@ -673,7 +673,7 @@ static int wait_and_unmount(char *mountpoint)
return rc;
}
#define DATA_PREP_TIMEOUT 100
#define DATA_PREP_TIMEOUT 200
static int prep_data_fs(void)
{
int i;
@ -683,7 +683,7 @@ static int prep_data_fs(void)
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 @@ static int prep_data_fs(void)
}
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");