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
|
// 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);
|
userid_t userId = multiuser_get_user_id(uid);
|
||||||
std::string mnt_path = StringPrintf("/proc/%d/ns/mnt", pid);
|
std::string mnt_path = StringPrintf("/proc/%d/ns/mnt", pid);
|
||||||
android::base::unique_fd nsFd(
|
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];
|
PLOG(ERROR) << "Failed to create dir: " << sources_cstr[i];
|
||||||
return false;
|
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) {
|
if (status != OK) {
|
||||||
PLOG(ERROR) << "Failed to create dir: " << targets_cstr[i];
|
PLOG(ERROR) << "Failed to create dir: " << targets_cstr[i];
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -130,6 +130,8 @@ class VolumeManager {
|
||||||
int updateVirtualDisk();
|
int updateVirtualDisk();
|
||||||
int setDebug(bool enable);
|
int setDebug(bool enable);
|
||||||
|
|
||||||
|
bool forkAndRemountStorage(int uid, int pid, const std::vector<std::string>& packageNames);
|
||||||
|
|
||||||
static VolumeManager* Instance();
|
static VolumeManager* Instance();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue