DO NOT MERGE. Block adoptable storage when using FBE.
For adoptable storage and FBE to coexist we need a new dm-biocrypt
kernel feature which isn't ready yet. So for now, prevent devices
from being adopted on FBE devices.
Bug: 30770036
Test: none
Change-Id: I51d54d2a8976ed02a03b107545aa094cf68df5d0
(cherry picked from commit 3b7f4b69b7701c57f0eaf0822f93a25fd4d8fa9d)
diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java
index cdd977b..0023e4b 100644
--- a/services/core/java/com/android/server/MountService.java
+++ b/services/core/java/com/android/server/MountService.java
@@ -1056,6 +1056,10 @@
|| mForceAdoptable) {
flags |= DiskInfo.FLAG_ADOPTABLE;
}
+ // Adoptable storage isn't currently supported on FBE devices
+ if (StorageManager.isFileEncryptedNativeOnly()) {
+ flags &= ~DiskInfo.FLAG_ADOPTABLE;
+ }
mDisks.put(id, new DiskInfo(id, flags));
break;
}
@@ -1985,6 +1989,11 @@
}
if ((mask & StorageManager.DEBUG_FORCE_ADOPTABLE) != 0) {
+ if (StorageManager.isFileEncryptedNativeOnly()) {
+ throw new IllegalStateException(
+ "Adoptable storage not available on device with native FBE");
+ }
+
synchronized (mLock) {
mForceAdoptable = (flags & StorageManager.DEBUG_FORCE_ADOPTABLE) != 0;