Merge "Fix for bug 3379244, non-eMMC devices don't start all services."

This commit is contained in:
Ken Sumrall 2011-02-22 12:15:10 -08:00 committed by Android (Google) Code Review
commit 012cf8f2de
2 changed files with 21 additions and 15 deletions

View File

@ -286,6 +286,7 @@ int do_mount(int nargs, char **args)
unsigned flags = 0;
int n, i;
int wait = 0;
char *prop;
for (n = 4; n < nargs; n++) {
for (i = 0; mount_flags[i].name; i++) {
@ -322,7 +323,7 @@ int do_mount(int nargs, char **args)
return -1;
}
return 0;
goto exit_success;
} else if (!strncmp(source, "loop@", 5)) {
int mode, loop, fd;
struct loop_info info;
@ -353,7 +354,7 @@ int do_mount(int nargs, char **args)
}
close(loop);
return 0;
goto exit_success;
}
}
@ -393,12 +394,6 @@ int do_mount(int nargs, char **args)
} else {
return -1;
}
} else {
if (!strcmp(target, DATA_MNT_POINT)) {
/* We succeeded in mounting /data, so it's not encrypted */
property_set("ro.crypto.state", "unencrypted");
action_for_each_trigger("nonencrypted", action_add_queue_tail);
}
}
if (!strcmp(target, DATA_MNT_POINT)) {
@ -414,8 +409,25 @@ int do_mount(int nargs, char **args)
snprintf(fs_flags, sizeof(fs_flags), "0x%8.8x", flags);
property_set("ro.crypto.fs_flags", fs_flags);
}
return 0;
}
exit_success:
/* If not running encrypted, then set the property saying we are
* unencrypted, and also trigger the action for a nonencrypted system.
*/
if (!strcmp(target, DATA_MNT_POINT)) {
prop = property_get("ro.crypto.state");
if (! prop) {
prop = "notset";
}
if (strcmp(prop, "encrypted")) {
property_set("ro.crypto.state", "unencrypted");
action_for_each_trigger("nonencrypted", action_add_queue_tail);
}
}
return 0;
}
int do_setkey(int nargs, char **args)

View File

@ -28,12 +28,6 @@ on boot
start goldfish-logcat
start goldfish-setup
# This is a workaround for another bug in init and init.rc
# where the late_start class of services is never started
# properly when running an unencrypted /data partition.
#
start ril-daemon
setprop ro.setupwizard.mode EMULATOR
# enable Google-specific location features,