Create /mnt/pass_through/<userid> in zygote if not created

Similar to /mnt/user, there is a very rare chance that the FUSE daemon
is started before vold mounts the volume, in that rare case, we should
still create the /mnt/pass_through/<userid> dir in zygote before bind
mounting into /storage

Test: manual
Bug: 135341433

Change-Id: Ibb0ee2657b3030ecec8fcef8e447f1fd4548457e
This commit is contained in:
Zim
2020-01-31 16:11:48 +00:00
parent f6e58c9f53
commit 6b06fc51ef

View File

@@ -820,6 +820,7 @@ static void MountEmulatedStorage(uid_t uid, jint mount_mode,
if (isFuse) {
if (mount_mode == MOUNT_EXTERNAL_PASS_THROUGH) {
const std::string pass_through_source = StringPrintf("/mnt/pass_through/%d", user_id);
PrepareDir(pass_through_source, 0710, AID_ROOT, AID_MEDIA_RW, fail_fn);
BindMount(pass_through_source, "/storage", fail_fn);
} else if (mount_mode == MOUNT_EXTERNAL_INSTALLER) {
const std::string installer_source = StringPrintf("/mnt/installer/%d", user_id);