Merge "Enable metadata encryption for userdata_gsi."

This commit is contained in:
David Anderson 2019-02-14 20:27:05 +00:00 committed by Gerrit Code Review
commit cb13a7766e
1 changed files with 29 additions and 12 deletions

View File

@ -588,18 +588,7 @@ std::set<std::string> ExtraBootDevices(const Fstab& fstab) {
return boot_devices;
}
void EraseFstabEntry(Fstab* fstab, const std::string& mount_point) {
auto iter = std::remove_if(fstab->begin(), fstab->end(),
[&](const auto& entry) { return entry.mount_point == mount_point; });
fstab->erase(iter, fstab->end());
}
void TransformFstabForGsi(Fstab* fstab) {
EraseFstabEntry(fstab, "/system");
EraseFstabEntry(fstab, "/data");
fstab->emplace_back(BuildGsiSystemFstabEntry());
FstabEntry BuildGsiUserdataFstabEntry() {
constexpr uint32_t kFlags = MS_NOATIME | MS_NOSUID | MS_NODEV;
FstabEntry userdata = {
@ -615,6 +604,34 @@ void TransformFstabForGsi(Fstab* fstab) {
userdata.fs_mgr_flags.quota = true;
userdata.fs_mgr_flags.late_mount = true;
userdata.fs_mgr_flags.formattable = true;
return userdata;
}
void EraseFstabEntry(Fstab* fstab, const std::string& mount_point) {
auto iter = std::remove_if(fstab->begin(), fstab->end(),
[&](const auto& entry) { return entry.mount_point == mount_point; });
fstab->erase(iter, fstab->end());
}
void TransformFstabForGsi(Fstab* fstab) {
// Inherit fstab properties for userdata.
FstabEntry userdata;
if (FstabEntry* entry = GetEntryForMountPoint(fstab, "/data")) {
userdata = *entry;
userdata.blk_device = "userdata_gsi";
userdata.fs_mgr_flags.logical = true;
userdata.fs_mgr_flags.formattable = true;
if (!userdata.key_dir.empty()) {
userdata.key_dir += "/gsi";
}
} else {
userdata = BuildGsiUserdataFstabEntry();
}
EraseFstabEntry(fstab, "/system");
EraseFstabEntry(fstab, "/data");
fstab->emplace_back(BuildGsiSystemFstabEntry());
fstab->emplace_back(userdata);
}