From c0439c785eafbbc1e2e88b94e15bae6e92e6c51b Mon Sep 17 00:00:00 2001 From: Daniel Rosenberg Date: Fri, 12 Jul 2019 15:22:24 -0700 Subject: installd: Account for empty obb contents on migration We need /data/media/obb on devices with old kernels. Since that folder is present, we should check if there are contents there before migrating data. This also fixes the check for if the kernel supports the unshared_obb option. If it does, it only does the migration if there is data to migrate. Test: Boot with GSI over P, boot normal Q, with and without data at /data/media/obb. With data, it should migrate. Without data it shoud skip the migration. On GSI on P it should skip the migration. Bug: 136199978 Change-Id: I41b0ec7a8a6b57b2ea6a530630d56c00f758009a --- cmds/installd/migrate_legacy_obb_data.sh | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/cmds/installd/migrate_legacy_obb_data.sh b/cmds/installd/migrate_legacy_obb_data.sh index ef9be5c1a8..10756881be 100644 --- a/cmds/installd/migrate_legacy_obb_data.sh +++ b/cmds/installd/migrate_legacy_obb_data.sh @@ -15,16 +15,21 @@ # See the License for the specific language governing permissions and # limitations under the License. -if ! test -d /data/media/obb ; then - log -p i -t migrate_legacy_obb_data "No legacy obb data to migrate." - exit 0 -fi - -rm -rf /data/media/0/Android/obb/test_probe +rm -rf /sdcard/Android/obb/test_probe +mkdir -p /sdcard/Android/obb/ touch /sdcard/Android/obb/test_probe if ! test -f /data/media/0/Android/obb/test_probe ; then log -p i -t migrate_legacy_obb_data "No support for 'unshared_obb'. Not migrating" - rm -rf /data/media/0/Android/obb/test_probe + rm -rf /sdcard/Android/obb/test_probe + exit 0 +fi + +# Delete the test file, and remove the obb folder if it is empty +rm -rf /sdcard/Android/obb/test_probe +rmdir /data/media/obb + +if ! test -d /data/media/obb ; then + log -p i -t migrate_legacy_obb_data "No legacy obb data to migrate." exit 0 fi -- cgit v1.2.3-59-g8ed1b