No description
Find a file
Zim a438b24368 Fix multi-user and multi-storage with FUSE
Up until now, the FUSE mount logic has made two assumptions:
1. The primary external volume is an emulated volume on /data/media
2. Only the primary user is running, as user zero

These assumptions are fixed by the following changes
creating an EmulatedVolume per Android user and changing the
VolumeBase id format to append the user to the id, so
s/emulated/emulated-0/. This allows us mount separate volumes per user

Some additional refactorings to re-use/clean up code.

Test: adb shell sm set-virtual-disk and partition disk operations work
even after setting up a work profile
Bug: 135341433

Change-Id: Ifabaa12368e5a591fbcdce4ee71c83ff35fdac6b
2019-11-11 20:24:49 +00:00
bench Abort long-running benchmarks, report progress. 2017-11-07 09:57:12 -07:00
binder/android/os Fix multi-user and multi-storage with FUSE 2019-11-11 20:24:49 +00:00
fs Exfat Need to add automatic repair function when exfat fsck device 2019-10-31 06:37:50 +00:00
model Fix multi-user and multi-storage with FUSE 2019-11-11 20:24:49 +00:00
tests Fix search for values in blkId output 2019-02-05 16:57:40 -08:00
.clang-format vold: use system-clang-format 2019-09-16 12:00:40 -07:00
Android.bp Merge "Remove libfscrypt now it's in libfs_mgr" am: 43f8298bdd am: ce187e7fd6 2019-10-30 20:44:43 -07:00
AppFuseUtil.cpp AppFuseUtil: Call ForceUnmount before PrepareDir. 2019-04-09 18:45:32 +01:00
AppFuseUtil.h Extract AppFuse as a util 2018-11-14 07:28:06 +00:00
Benchmark.cpp vold: use RAII wake locks 2019-06-26 10:20:30 -07:00
Benchmark.h clang-format many files. 2018-09-18 15:41:22 -07:00
BenchmarkGen.h Abort long-running benchmarks, report progress. 2017-11-07 09:57:12 -07:00
CheckEncryption.cpp Test that plaintext can't be read from disk for encrypted files. 2017-10-27 15:14:56 -07:00
CheckEncryption.h Test that plaintext can't be read from disk for encrypted files. 2017-10-27 15:14:56 -07:00
Checkpoint.cpp Make sure CtsCheckpointTestCases passes 2019-10-23 09:40:45 -07:00
Checkpoint.h vold: implement resetCheckpoint 2019-10-12 00:43:04 +01:00
CleanSpec.mk Add an empty CleanSpec.mk 2010-03-08 18:05:25 -08:00
cryptfs.cpp vold: use RAII wake locks 2019-06-26 10:20:30 -07:00
cryptfs.h clang-format many files. 2018-09-18 15:41:22 -07:00
Devmapper.cpp Replace manual dm ioctls with libdm. 2019-05-13 13:07:12 -07:00
Devmapper.h Replace manual dm ioctls with libdm. 2019-05-13 13:07:12 -07:00
EncryptInplace.cpp Make ext4 userdata checkpoints work with metadata encryption 2019-06-27 17:42:25 +00:00
EncryptInplace.h Make ext4 userdata checkpoints work with metadata encryption 2019-06-27 17:42:25 +00:00
FileDeviceUtils.cpp Remove excess logging in secdiscard 2019-03-21 19:13:51 +00:00
FileDeviceUtils.h clang-format many files. 2018-09-18 15:41:22 -07:00
FsCrypt.cpp Use new encryption_options fstab entry 2019-10-28 13:36:35 -07:00
FsCrypt.h Create a per-boot key on each boot 2019-09-17 18:44:18 +00:00
fscrypt_uapi.h vold: use new ioctls to add/remove fscrypt keys when supported 2019-09-30 13:11:42 -07:00
IdleMaint.cpp Merge "vold: use RAII wake locks" am: b585363d93 2019-06-26 19:43:21 -07:00
IdleMaint.h Add functions to handle idle maintenance 2017-11-14 15:12:30 -08:00
KeyBuffer.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
KeyBuffer.h clang-format many files. 2018-09-18 15:41:22 -07:00
Keymaster.cpp Explain the rationale for not using StrongBox in vold. 2018-05-17 15:24:56 -06:00
Keymaster.h Keymaster memory management is inconsistent 2019-06-12 13:27:20 -07:00
KeyStorage.cpp Merge "Request rollback resistance for FBE keys." 2019-09-12 15:20:45 +00:00
KeyStorage.h vold: Pass std::string by const reference 2018-12-20 19:51:54 -08:00
KeyUtil.cpp vold: support v2 encryption policies 2019-10-04 16:04:36 -07:00
KeyUtil.h vold: support v2 encryption policies 2019-10-04 16:04:36 -07:00
Loop.cpp Block and wait for /dev/block/loop<N> to appear in case it was created asynchronously. 2019-06-18 15:27:37 -07:00
Loop.h clang-format many files. 2018-09-18 15:41:22 -07:00
main.cpp Merge "Add missing null terminator for getopt_long()" am: 4d05e017f9 2019-04-04 09:55:49 -07:00
MetadataCrypt.cpp Fix ext4/metadata/udc issue 2019-08-14 10:00:09 -07:00
MetadataCrypt.h Make ext4 userdata checkpoints work with metadata encryption 2019-06-27 17:42:25 +00:00
MoveStorage.cpp vold: use RAII wake locks 2019-06-26 10:20:30 -07:00
MoveStorage.h clang-format many files. 2018-09-18 15:41:22 -07:00
NetlinkHandler.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
NetlinkHandler.h clang-format many files. 2018-09-18 15:41:22 -07:00
NetlinkManager.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
NetlinkManager.h clang-format many files. 2018-09-18 15:41:22 -07:00
OWNERS Add drosen to OWNERS 2019-09-23 15:52:17 -07:00
PREUPLOAD.cfg vold should be fully developed in AOSP. 2018-09-11 12:08:43 -06:00
Process.cpp Convert ifstream usage into fopen() to prevent fd leaks into child processes 2019-03-26 20:10:24 +00:00
Process.h Move to modern utility methods from android::base. 2017-10-17 12:40:51 -06:00
ScryptParameters.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
ScryptParameters.h clang-format many files. 2018-09-18 15:41:22 -07:00
secdiscard.cpp secdiscard: should call fsync to avoid reordering IOs 2019-08-12 15:31:10 +00:00
sehandle.h clang-format many files. 2018-09-18 15:41:22 -07:00
Utils.cpp Fix multi-user and multi-storage with FUSE 2019-11-11 20:24:49 +00:00
Utils.h Fix multi-user and multi-storage with FUSE 2019-11-11 20:24:49 +00:00
vdc.cpp vold: implement resetCheckpoint 2019-10-12 00:43:04 +01:00
vdc.rc Remove all references to FDE enable wipe 2017-12-22 11:17:15 -08:00
vold.rc vold: Grant root group 2018-08-08 17:08:02 -07:00
vold_prepare_subdirs.cpp Create /data/vendor_ce/0/facedata in vold_prepare_subdirs 2019-04-25 19:27:26 +00:00
VoldNativeService.cpp Fix multi-user and multi-storage with FUSE 2019-11-11 20:24:49 +00:00
VoldNativeService.h Merge "vold: implement resetCheckpoint" am: 4eeebff8d5 am: e182b26d64 am: 3631ac59fd 2019-10-18 15:37:54 -07:00
VoldUtil.cpp Move over to the C++ Fstab class 2019-01-31 12:34:39 -08:00
VoldUtil.h Move over to the C++ Fstab class 2019-01-31 12:34:39 -08:00
VolumeManager.cpp Fix multi-user and multi-storage with FUSE 2019-11-11 20:24:49 +00:00
VolumeManager.h Fix multi-user and multi-storage with FUSE 2019-11-11 20:24:49 +00:00
wait_for_keymaster.cpp add wait_for_keymaster 2018-05-09 12:59:18 -07:00
wait_for_keymaster.rc Add rc file for wait_for_keymaster 2018-05-15 16:15:21 -07:00