No description
Find a file
Martijn Coenen 5ec8658abc Introduce postMount() VolumeBase helper.
When we're mounting a private volume, we create stacked emulated volumes
on top of it. Due to the ordering there, we would broadcast the emulated
volumes being created *before* the "mounted" status update. This in turn
could cause us to try and mount these emulated volumes before the
underlying private volume is really mounted. This is problematic in
particular on devices that support a filesystem keyring, where we need
to do some additional setup before the devices can be used.

While we could modify StorageManagerService to delay the mount, a safer
fix at this stage of the release is to just fix the ordering of these
events. To achieve that, add a simple postMount() helper, that is called
after a succesful mount. This allows us to setup the volume properly
before trying to mount any stacked volumes.

Bug: 151079464
Test: atest AdoptableHostTest
Change-Id: I2cc4113d4d71d89aa629bb9c0fa9be441355c079
2020-05-04 15:09:32 +02:00
bench Abort long-running benchmarks, report progress. 2017-11-07 09:57:12 -07:00
binder/android/os Checking LOADER_USAGE_STATS before enabling read logs. 2020-03-31 16:28:30 -07:00
fs Rename casefold/projectid properties (for f2fs). 2020-04-16 10:18:36 +02:00
model Introduce postMount() VolumeBase helper. 2020-05-04 15:09:32 +02:00
tests [vold] Add argument verification to IncFS methods 2020-03-25 14:33:24 -07:00
.clang-format vold: use system-clang-format 2019-09-16 12:00:40 -07:00
Android.bp [vold] Add argument verification to IncFS methods 2020-03-25 14:33:24 -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 Fix the overflow issue in Checkpoint 2020-01-03 08:12:03 +00: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 umount /data/user/0 before umount /data 2020-03-04 14:33:08 +08:00
cryptfs.h Refactor key generation to handle both normal and metadata encryption. 2020-02-14 13:59:06 -08:00
CryptoType.cpp Generalize CryptoType infrastructure 2020-02-14 00:48:27 -08:00
CryptoType.h Generalize CryptoType infrastructure 2020-02-14 00:48:27 -08: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 Consistently use CLOCK_MONOTONIC for timing encryption 2019-12-26 18:53:53 +00:00
EncryptInplace.h Refactor: make cryptfs.h smaller 2020-02-07 11:16:12 -08: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 Merge "Only set quota project ID inheritance on app-private dirs." into rvc-dev 2020-03-11 12:54:58 +00:00
FsCrypt.h vold: Do not cache CE keys in vold 2020-01-24 00:20:22 +00:00
fscrypt_uapi.h fskeyring & userspace reboot: support CE keys 2020-03-07 01:19:42 +00: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 Send earlyBootEnded notice to all Keymasters 2020-04-01 10:04:32 -06:00
Keymaster.h Send earlyBootEnded notice to all Keymasters 2020-04-01 10:04:32 -06:00
KeyStorage.cpp Fix unaligned access to auth token user_id 2020-02-18 11:00:15 -08:00
KeyStorage.h vold: Support Storage keys for FBE 2020-02-12 14:26:26 -08:00
KeyUtil.cpp Introduce ro.crypto.uses_fs_ioc_add_encryption_key property 2020-04-20 22:21:49 +01:00
KeyUtil.h fskeyring & userspace reboot: support CE keys 2020-03-07 01:19:42 +00:00
Loop.cpp Block and wait for /dev/block/loop<N> to appear in case it was created asynchronously. 2020-03-27 20:16:44 +00:00
Loop.h clang-format many files. 2018-09-18 15:41:22 -07:00
main.cpp Refactor: make cryptfs.h smaller 2020-02-07 11:16:12 -08:00
MetadataCrypt.cpp Merge "Choose options format using property" into rvc-dev 2020-04-08 00:10:59 +00:00
MetadataCrypt.h On newer devices, use dm-default-key to encrypt SD cards 2020-02-18 13:01:00 -08: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 zezeozue to OWNERS 2019-11-15 16:03:47 +00:00
PREUPLOAD.cfg vold should be fully developed in AOSP. 2018-09-11 12:08:43 -06:00
Process.cpp Mount direct boot apps obb dir after fuse is ready. 2020-02-19 16:45:07 +00:00
Process.h Mount direct boot apps obb dir after fuse is ready. 2020-02-19 16:45:07 +00: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
TEST_MAPPING Add TEST_MAPPING for vold. 2020-02-10 08:57:30 +01:00
Utils.cpp Only set quota project ID inheritance on app-private dirs. 2020-03-11 11:51:45 +01:00
Utils.h Merge "Mount direct boot apps obb dir after fuse is ready." 2020-02-19 19:42:13 +00:00
vdc.cpp Add '/system/bin/vdc volume reset' command 2019-12-02 11:51:20 +00: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 Allow search permission on apex data directories. 2020-01-17 11:37:31 +00:00
VoldNativeService.cpp [incfs] Use new IncFs_ReleaseControlFds() instead of duping 2020-04-22 23:26:32 -07:00
VoldNativeService.h Checking LOADER_USAGE_STATS before enabling read logs. 2020-03-31 16:28:30 -07:00
VoldNativeServiceValidation.cpp Additional operation check when enabling read logs. 2020-04-03 18:42:04 -07:00
VoldNativeServiceValidation.h [vold] Add argument verification to IncFS methods 2020-03-25 14:33:24 -07:00
VoldUtil.cpp Move over to the C++ Fstab class 2019-01-31 12:34:39 -08:00
VoldUtil.h Remove unused code in VoldUtil.h 2020-02-18 10:48:16 -08:00
VolumeManager.cpp Merge "Don't do private app-dir permissions/quota on public volumes." into rvc-dev 2020-04-21 12:22:58 +00:00
VolumeManager.h Replace EnsureDirExists with a call to setupAppDir 2020-04-03 10:29:51 +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