cryptfs: also unmount /data/data before encrypting

galaxysmtd mounts /data/data on top on /data when unencrypted for
performance reason, so when encrypting, we need to unmount that
first before we can unmount /data.

On other devices, umount on a non-mounted folder will silently
succeed.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I07a73534fb3e253b702a4be6f976594644795e36
vold: add ro.vold.umsdirtyratio property

It allows control of what /proc/sys/vm/dirty_ratio is used when USB mounting.
At some platforms like the HTC Desire (bravo) and Samsung Galaxy S family (i9000x) we get a _HUGE_ performance boost when writing to the sdcard when USB mounting if this is set to 20 (which is the default) on the devices above.

It makes it possible to undo or control the effect of this commit:
https://github.com/CyanogenMod/android_system_vold/commit/a28056b38275003895ff5d9576681aca01544822

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I86b7bbd02695fb0c19f39448714a219257bf806f
vold: don't crash when formatting unformatted volume

When formatting unformatting volumes, fstype will be NULL causing
a crash in strcmp. Set it to "vfat" to avoid the crash.

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I3876ea2a6d91e78f579537fd6ea3d030fb18ee7b
vold: support more than 1 UMS share

Used for devices with both mountable internal and external sdcards.

This is a forward-port and clean up of the 10.2 code (which contains
a lot of deadcode.)

Original authors:

    Alex Zepeda <alex@inferiorhumanorgans.com>
    Genokolar <genokolar@gmail.com>
    Josh Stone <cuviper@gmail.com>
    mik_os <kiril.mik.os@gmail.com>
    Oran Avraham <oranav@gmail.com>
    Pawit Pornkitprasan <p.pawit@gmail.com>
    Tony Layher <layhertony@gmail.com>

Signed-off-by: Humberto Borba <humberos@gmail.com>
Change-Id: I926ce244255414697373d26d252a9da89aea7226