Replace EnsureDirExists with a call to setupAppDir
Test: Manually verified ownership of /storage/emulated/0/Android/data on cf_x86_phone-userdebug after enabling feature Bug: 151455752 Change-Id: I75a1e3b769476e56094e41d82e7f8e1a72827ded
This commit is contained in:
parent
6ce90ced12
commit
75973cb0dd
2 changed files with 6 additions and 2 deletions
|
@ -776,7 +776,8 @@ static std::string getStorageDirTarget(userid_t userId, std::string dirName,
|
|||
}
|
||||
|
||||
// Fork the process and remount storage
|
||||
static bool forkAndRemountStorage(int uid, int pid, const std::vector<std::string>& packageNames) {
|
||||
bool VolumeManager::forkAndRemountStorage(int uid, int pid,
|
||||
const std::vector<std::string>& packageNames) {
|
||||
userid_t userId = multiuser_get_user_id(uid);
|
||||
std::string mnt_path = StringPrintf("/proc/%d/ns/mnt", pid);
|
||||
android::base::unique_fd nsFd(
|
||||
|
@ -814,7 +815,8 @@ static bool forkAndRemountStorage(int uid, int pid, const std::vector<std::strin
|
|||
PLOG(ERROR) << "Failed to create dir: " << sources_cstr[i];
|
||||
return false;
|
||||
}
|
||||
status = EnsureDirExists(targets_cstr[i], 0771, AID_MEDIA_RW, AID_MEDIA_RW);
|
||||
// Make sure /storage/emulated/... paths are setup correctly
|
||||
status = setupAppDir(targets_cstr[i], uid, false /* fixupExistingOnly */);
|
||||
if (status != OK) {
|
||||
PLOG(ERROR) << "Failed to create dir: " << targets_cstr[i];
|
||||
return false;
|
||||
|
|
|
@ -130,6 +130,8 @@ class VolumeManager {
|
|||
int updateVirtualDisk();
|
||||
int setDebug(bool enable);
|
||||
|
||||
bool forkAndRemountStorage(int uid, int pid, const std::vector<std::string>& packageNames);
|
||||
|
||||
static VolumeManager* Instance();
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue