diff --git a/fs/F2fs.cpp b/fs/F2fs.cpp index 9517dc9..ee39f2b 100644 --- a/fs/F2fs.cpp +++ b/fs/F2fs.cpp @@ -89,6 +89,19 @@ status_t Format(const std::string& source) { cmd.push_back("-O"); cmd.push_back("verity"); + const bool needs_casefold = + android::base::GetBoolProperty("ro.emulated_storage.casefold", false); + const bool needs_projid = android::base::GetBoolProperty("ro.emulated_storage.projid", false); + if (needs_projid) { + cmd.push_back("-O"); + cmd.push_back("project_quota,extra_attr"); + } + if (needs_casefold) { + cmd.push_back("-O"); + cmd.push_back("casefold"); + cmd.push_back("-C"); + cmd.push_back("utf8"); + } cmd.push_back(source); return ForkExecvp(cmd); }