@ -62,8 +62,11 @@
using android : : base : : StringPrintf ;
using android : : base : : StringPrintf ;
using android : : fs_mgr : : GetEntryForMountPoint ;
using android : : fs_mgr : : GetEntryForMountPoint ;
using android : : vold : : BuildDataPath ;
using android : : vold : : BuildDataPath ;
using android : : vold : : IsFilesystemSupported ;
using android : : vold : : kEmptyAuthentication ;
using android : : vold : : kEmptyAuthentication ;
using android : : vold : : KeyBuffer ;
using android : : vold : : KeyBuffer ;
using android : : vold : : SetQuotaInherit ;
using android : : vold : : SetQuotaProjectId ;
using android : : vold : : writeStringToFile ;
using android : : vold : : writeStringToFile ;
using namespace android : : fscrypt ;
using namespace android : : fscrypt ;
@ -783,6 +786,14 @@ bool fscrypt_prepare_user_storage(const std::string& volume_uuid, userid_t user_
if ( ! prepare_dir ( vendor_ce_path , 0771 , AID_ROOT , AID_ROOT ) ) return false ;
if ( ! prepare_dir ( vendor_ce_path , 0771 , AID_ROOT , AID_ROOT ) ) return false ;
}
}
if ( ! prepare_dir ( media_ce_path , 0770 , AID_MEDIA_RW , AID_MEDIA_RW ) ) return false ;
if ( ! prepare_dir ( media_ce_path , 0770 , AID_MEDIA_RW , AID_MEDIA_RW ) ) return false ;
// Setup quota project ID and inheritance policy
if ( ! IsFilesystemSupported ( " sdcardfs " ) ) {
if ( SetQuotaInherit ( media_ce_path ) ! = 0 ) return false ;
if ( SetQuotaProjectId ( media_ce_path , multiuser_get_uid ( user_id , AID_MEDIA_RW ) ) ! = 0 ) {
return false ;
}
}
if ( ! prepare_dir ( user_ce_path , 0771 , AID_SYSTEM , AID_SYSTEM ) ) return false ;
if ( ! prepare_dir ( user_ce_path , 0771 , AID_SYSTEM , AID_SYSTEM ) ) return false ;
if ( fscrypt_is_native ( ) ) {
if ( fscrypt_is_native ( ) ) {