@ -43,6 +43,7 @@ using android::base::StringPrintf;
namespace android {
namespace android {
namespace vold {
namespace vold {
static const unsigned int kMajorBlockLoop = 7 ;
static const unsigned int kMajorBlockMmc = 179 ;
static const unsigned int kMajorBlockMmc = 179 ;
PrivateVolume : : PrivateVolume ( dev_t device , const KeyBuffer & keyRaw )
PrivateVolume : : PrivateVolume ( dev_t device , const KeyBuffer & keyRaw )
@ -207,7 +208,9 @@ status_t PrivateVolume::doFormat(const std::string& fsType) {
if ( fsType = = " auto " ) {
if ( fsType = = " auto " ) {
// For now, assume that all MMC devices are flash-based SD cards, and
// For now, assume that all MMC devices are flash-based SD cards, and
// give everyone else ext4 because sysfs rotational isn't reliable.
// give everyone else ext4 because sysfs rotational isn't reliable.
if ( ( major ( mRawDevice ) = = kMajorBlockMmc ) & & f2fs : : IsSupported ( ) ) {
// Additionally, prefer f2fs for loop-bases devices
if ( ( major ( mRawDevice ) = = kMajorBlockMmc | | major ( mRawDevice ) = = kMajorBlockLoop ) & &
f2fs : : IsSupported ( ) ) {
resolvedFsType = " f2fs " ;
resolvedFsType = " f2fs " ;
} else {
} else {
resolvedFsType = " ext4 " ;
resolvedFsType = " ext4 " ;