vold: Add ntfs (read-only) support.

See http://review.cyanogenmod.com/#change,7457 for more info.

Change-Id: Ic841e73be6435e8bbbb22984cc749e27c46826e8
vold: use blkid to detect filesystem type

In preparation for handling ext4 partitions via vold and fuse.

Change-Id: Ibaccded63a7a293ad53f16afb80448ddd493554c
vold: add support for ext4 media

Depends on:
http://review.cyanogenmod.org/31202
http://review.cyanogenmod.org/31211

Result:
http://pastebin.com/nzUbvW7K

NOTE: The original commit was heavily modified by me to
fit the current code layout and account for our ability
to automatically fuse-wrap unix file systems.

Change-Id: I5bd227e637f2a1ed4d13a2eb81390c56c953f482
vold: exFAT support

 * Add support for exFAT using FUSE implementation.

Change-Id: I590c7b1bc8fbcb8c0b2c669f4073ac022857e4da
vold: Add NTFS read+write support via ntfs-3g

 * Use ntfs-3g for full NTFS support.
 * Original code from Freescale.

Change-Id: I01191c3c339421904dc9415eb00143f7f8365152
vold: Format filesystems as exfat, if already exfat.

Change-Id: I1474fa3d3264e6466c2f74e91f16bd2515f50d06
vold: mount ext4 with forced SELinux context

Always mount voldmanaged ext4 partitions with the SELinux sdcard_external
context. For other file systems, this is done via the genfs_context,
but since ext4 supports SELinux natively, it must be set here.

Change-Id: I1364f37018b25d79b1826c85849def64e868d72f
vold: force SELinux context only for sdcard

Google uses this code to mount ASEC as well and we shouldn't force
their SELinux contexts

Change-Id: I873af4dc2309d3d0942ce466b8acf8158abb85ae
vold: allow non-vfat devices to be used as ASEC

CM supports alternative file systems (which some devices specify
in the fstab as 'auto').

Change-Id: I7e78fe87a7efc49d6749d5892107085d55156cce
vold: pass selinux context to ext4 mount (remount ro)

Change-Id: Ic0bb314b30e42489c45caec29d35d6896c9849eb
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
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.

Change-Id: I3876ea2a6d91e78f579537fd6ea3d030fb18ee7b
vold: Allow specifying the filesystem type when formatting

 * Optional parameter added to "volume format" to specify the filesystem
   type to use. If not specified, default is to auto-detect.
 * Add support for formatting NTFS.
 * Use mke2fs to format when not creating containers.

Change-Id: I2bc0f92d59adb9604b35a1f70febccfba68715d3
Volume: Don't crap out when dealing with unformatted cards

And plug a memory leak when formatting them

Change-Id: I2ab58328d07a343a5ec9e1c4b58f8258f0c9133c
vold: Honor mount options for ext4 mounts

Change-Id: Ie77e0d402c2c16d544251f7fdaeaad34d030d121
vold: Send UUID with list response

UUID defaults to 0 if not available

Change-Id: I59df514aeffa7d926a31d02589e6ff3031bde79e
Add Flash-Friendly File System (f2fs) support.

Change-Id: If46bf7329a7453122a4379f9bc41cf9553426e74