diff options
author | Zim <zezeozue@google.com> | 2019-09-25 14:37:55 +0100 |
---|---|---|
committer | Zim <zezeozue@google.com> | 2019-11-12 16:40:39 +0000 |
commit | 17be6f999bfee954d2b03a193858556476b8d2c5 (patch) | |
tree | 3c80c0096cf67c4b49b1fd93e89245de961d1ab0 /startop/scripts/lib/cmd_utils.py | |
parent | b814d6b3179c24849c4243a94d4742b1e90e40da (diff) |
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
With this change, we are able to handle the following cases:
1. Mount new external storage volumes as as portable storage
(PublicVolume) managed by FUSE. The PublicVolume originally mounted on
/mnt/media_rw/<uuid> is availabe on /storage/<uuid> as a FUSE mount
2. Mount new external storage volumes as adoptable storage
(PrivateVolume) with a stacked EmulatedVolume managed by FUSE. The
EmulatedVolume orignally mounted on /mnt/expand/<uuid>/media will be
available on /storage/emulated if set as the primary storage
3. Run the MediaProvider as a secondary user handling requests on
/mnt/user/<userid>/<volid>
Test: atest AdoptableHostTest
Bug: 135341433
Bug: 140120303
Change-Id: I5fb48616b4143277ea14c6846037e2fd176e16db
Diffstat (limited to 'startop/scripts/lib/cmd_utils.py')
0 files changed, 0 insertions, 0 deletions