Merge "In MountEmulatedStorage() don't create a mount namespace unless actually mounting." am: c0aacbe513
am: ae06fba67a
Change-Id: I644fc487b90e4292d3a53f356e92c4ddee856aaa
This commit is contained in:
@@ -300,12 +300,6 @@ static bool MountEmulatedStorage(uid_t uid, jint mount_mode,
|
||||
bool force_mount_namespace) {
|
||||
// See storage config details at http://source.android.com/tech/storage/
|
||||
|
||||
// Create a second private mount namespace for our process
|
||||
if (unshare(CLONE_NEWNS) == -1) {
|
||||
ALOGW("Failed to unshare(): %s", strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
String8 storageSource;
|
||||
if (mount_mode == MOUNT_EXTERNAL_DEFAULT) {
|
||||
storageSource = "/mnt/runtime/default";
|
||||
@@ -317,6 +311,13 @@ static bool MountEmulatedStorage(uid_t uid, jint mount_mode,
|
||||
// Sane default of no storage visible
|
||||
return true;
|
||||
}
|
||||
|
||||
// Create a second private mount namespace for our process
|
||||
if (unshare(CLONE_NEWNS) == -1) {
|
||||
ALOGW("Failed to unshare(): %s", strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
if (TEMP_FAILURE_RETRY(mount(storageSource.string(), "/storage",
|
||||
NULL, MS_BIND | MS_REC | MS_SLAVE, NULL)) == -1) {
|
||||
ALOGW("Failed to mount %s to /storage: %s", storageSource.string(), strerror(errno));
|
||||
|
||||
Reference in New Issue
Block a user