summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerry Fan <gfan@google.com>2019-07-12 15:07:59 +0000
committerGerry Fan <gfan@google.com>2019-07-12 15:23:12 +0000
commit997a2d93d7a9216c248be9c983adec2d91283f5a (patch)
treee197f10766aad81ac2041593c6da94248cacfc20
parent891a0113941136544509886c1638d973a6c9773c (diff)
downloadcore-997a2d93d7a9216c248be9c983adec2d91283f5a.tar.gz
Revert "Revert "rootdir / sdcard : Stop creating /data/media/obb.""
This reverts commit 891a0113941136544509886c1638d973a6c9773c. Reason for revert: Some Test failed, need more investigation Bug: 136199978 Change-Id: Ibad0dad02a6701447c39ddcc805d44c9e68bdcce
-rw-r--r--rootdir/init.rc1
-rw-r--r--sdcard/sdcard.cpp9
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);