From c6ca823710d49754c3717e9cf3ba11b9c2648825 Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Fri, 17 May 2019 12:20:54 +0100 Subject: [PATCH] rootdir / sdcard : Stop creating /data/media/obb. This directory is no longer used. OBB content is placed in /data/media/$user/Android. Test: make Test: manually verify the path doesn't exist. Bug: 129167772 Change-Id: I8549826586b9a68c8cfa3fe2e51295363f9b4e11 --- rootdir/init.rc | 1 - sdcard/sdcard.cpp | 9 ++++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/rootdir/init.rc b/rootdir/init.rc index 1b7367c46..260199794 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -586,7 +586,6 @@ on post-fs-data symlink /data/data /data/user/0 mkdir /data/media 0770 media_rw media_rw - mkdir /data/media/obb 0770 media_rw media_rw mkdir /data/cache 0770 system cache mkdir /data/cache/recovery 0770 system cache diff --git a/sdcard/sdcard.cpp b/sdcard/sdcard.cpp index 2b358197a..0acea7266 100644 --- a/sdcard/sdcard.cpp +++ b/sdcard/sdcard.cpp @@ -214,7 +214,14 @@ static void run_sdcardfs(const std::string& source_path, const std::string& labe if (multi_user) { std::string obb_path = source_path + "/obb"; - fs_prepare_dir(obb_path.c_str(), 0775, uid, gid); + // Only attempt to prepare the /obb dir if it already exists. We want + // the legacy obb path "/data/media/obb" to be fixed up so that we can + // migrate it to its new location, but we don't want the directory to be + // created if it doesn't already exist. + struct stat sb; + if (TEMP_FAILURE_RETRY(lstat(obb_path.c_str(), &sb)) == 0) { + fs_prepare_dir(obb_path.c_str(), 0775, uid, gid); + } } exit(0);