Teach the mount command in init to not consider a wiped partition to be encrypted.

Change-Id: I3e989f0b81ec35084baddc04e014406f4d90ce04
This commit is contained in:
Ken Sumrall 2011-05-26 20:01:39 -07:00
parent b05b0b5d3b
commit 7bc6e9ebe4
1 changed files with 5 additions and 2 deletions

View File

@ -30,6 +30,7 @@
#include <sys/mount.h>
#include <sys/resource.h>
#include <linux/loop.h>
#include <cutils/partition_utils.h>
#include "init.h"
#include "keywords.h"
@ -367,7 +368,9 @@ int do_mount(int nargs, char **args)
if (wait)
wait_for_file(source, COMMAND_RETRY_TIMEOUT);
if (mount(source, target, system, flags, options) < 0) {
/* If this fails, it may be an encrypted filesystem.
/* If this fails, it may be an encrypted filesystem
* or it could just be wiped. If wiped, that will be
* handled later in the boot process.
* We only support encrypting /data. Check
* if we're trying to mount it, and if so,
* assume it's encrypted, mount a tmpfs instead.
@ -375,7 +378,7 @@ int do_mount(int nargs, char **args)
* for vold to query when it mounts the real
* encrypted /data.
*/
if (!strcmp(target, DATA_MNT_POINT)) {
if (!strcmp(target, DATA_MNT_POINT) && !partition_wiped(source)) {
const char *tmpfs_options;
tmpfs_options = property_get("ro.crypto.tmpfs_options");