c86ab6f538bec63638c168d6c843fe7cf73add3b |
|
26-Jun-2015 |
Jeff Sharkey <jsharkey@android.com> |
Trim both internal and adopted private storage. Refactor fstrim code to be encapsulated in unique task object, and give it option of benchmarking when finished. Trimming now includes both storage from fstab and adopted private volumes. Cleaner timing stats are logged for each unique volume. Add wakelock during ongoing async move tasks. Push disk sysfs path to framework so it can parse any SD card registers as desired. Bug: 21831325 Change-Id: I76577685f5cae4929c251ad314ffdaeb5eb1c8bf
/system/vold/ResponseCode.h
|
5a6bfca1638760b87cf64c5ffb48ff3557cc0563 |
|
15-May-2015 |
Jeff Sharkey <jsharkey@android.com> |
Initial pass at storage benchmarks. Now that we're offering to store private app data on adopted storage devices, the performance of those devices is much more important to overall user experience. To help set user expectations, this change offers to execute a real-world benchmark on a storage device, returning a metric that can be used to compare internal and external storage. The benchmark is generated from the strace-instrumented storage access patterns of typical apps. A typical device completes the benchmark in under two seconds on internal storage, a UHS-3 SD card is even faster (!), but a very slow Class 4 SD card takes about 30 seconds to complete, giving us a clear signal. The measured benchmark numbers are logged along with information about the storage device, such as manufacturer, model, etc. Card serial numbers are scrubbed from output. Bug: 21172095 Change-Id: I9b2713dafdfdfcf5d97bf1bc21841f39409a7e54
/system/vold/ResponseCode.h
|
1d6fbcc389ecb9f418076e8ab5f4c93a5d911de9 |
|
25-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Migrate primary external storage. When requested, kick off a thread that will migrate storage contents between two locations. This is performed in several steps that also interact with the framework: 1. Take old and new volumes offline during migration 2. Wipe new location clean (10% of progress) 3. Copy files from old to new (60% of progress) 4. Inform framework that move was successful so it can persist 5. Wipe old location clean (15% of progress) Derives a hacky progress estimate by using a rough proxy of free disk space changes while a cp/rm is taking place. Add new internal path for direct access to volumes to bypass any FUSE emulation overhead, and send it to framework. Remove mutex around various exec calls since setexeccon() is already per-thread. Bug: 19993667 Change-Id: Ibcb4f6fe0126d05b2365f316f53e71dc3e79a2b8
/system/vold/ResponseCode.h
|
613b26f8e3f71429945924837e3713dc73ce45d6 |
|
19-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Notify when disk scan finished. Bug: 19993667 Change-Id: I20dc183a35c11b5b4ba6139e690929b9c279b830
/system/vold/ResponseCode.h
|
f1b996df6f8283aac6953b22bd9e2496d8c30c86 |
|
18-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Volumes know parent disks; unsupported disks. This is cleaner and more direct than the reverse of having the disk publish child volume membership. Rename state constants to match public API. Add state representing bad removal. Make it clear that volume flags are related to mounting. Send new unsupported disk event when we finish scanning an entire disk and have no meaningful volumes. Bug: 19993667 Change-Id: I08a91452ff561171a484d1da5745293ec893aec0
/system/vold/ResponseCode.h
|
3161fb3702830b586b2e36fa9ca4519f59f951b4 |
|
13-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Emulated volumes above private volumes. When a private volume is mounted, create an emulated volume above it hosted at the /media path on that device. That emulated volume is automatically torn down when unmounting the private volume. Add "removed" state for volume, which signals to framework that media has left the building, send when the volume is destroyed. Bug: 19993667 Change-Id: I1f82b51de578ac5cfcc5d7b9a6fb44f6f25c775c
/system/vold/ResponseCode.h
|
36801cccf27152c9eca5aab6ba3527221525110f |
|
14-Mar-2015 |
Jeff Sharkey <jsharkey@android.com> |
Progress towards dynamic storage support. Wire up new Disk and VolumeBase objects and events to start replacing older DirectVolume code. Use filesystem UUID as visible PublicVolume name to be more deterministic. When starting, create DiskSource instances based on fstab, and watch for kernel devices to appear. Turn matching devices into Disk objects, scan for partitions, and create any relevant VolumeBase objects. Broadcast all of these events towards userspace so the framework can decide what to mount. Keep track of the primary VolumeBase, and update the new per-user /storage/self/primary symlink for all started users. Provide a reset command that framework uses to start from a known state when runtime is restarted. When vold is unexpectedly killed, try recovering by unmounting everything under /mnt and /storage before moving forward. Remove UMS sharing support for now, since no current devices support it; MTP is the recommended solution going forward because it offers better multi-user support. Switch killProcessesWithOpenFiles() to directly take signal. Fix one SOCK_CLOEXEC bug, but SELinux says there are more lurking. Bug: 19993667 Change-Id: I2dad1303aa4667ec14c52f774e2a28b3c1c1ff6d
/system/vold/ResponseCode.h
|
f4faa575c9fc20a8a8e133d6098865b5ce3a7ed2 |
|
29-Jan-2014 |
Paul Lawrence <paullawrence@google.com> |
Support default, pattern, pin and password encryption types Store encryption type in crypto footer, and provide functions to manipulate it. Add mount_default_encrypted command to vdc to allow mounting of default encrypted volumes at boot time. Bug: 8769627 Change-Id: Ie41848f258e128b48b579e09789abfa24c95e2b2
/system/vold/ResponseCode.h
|
0368cd4355466e4c9d6f502fed8a830cad36e25e |
|
18-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
am f4a8c0b9: am 10939ac7: Merge "Extract UUID and label from inserted volumes." into klp-dev * commit 'f4a8c0b9f646cd9fa51fe3746bc8a00bb987124b': Extract UUID and label from inserted volumes.
|
0de365fc0af30ae48c2037e1057f2a813029a618 |
|
17-Oct-2013 |
Jeff Sharkey <jsharkey@android.com> |
Extract UUID and label from inserted volumes. Uses "blkid" tool to extract metadata from an inserted volume, and reports it up to the framework. This needs to happen in vold, since only the FUSE-wrapped volume is visible to userspace. Remove autorun sanitization, since FUSE takes care of this now. Bug: 11175082 Change-Id: Ie69b38011ad6011bfb50e40d4f35a29e02150c19
/system/vold/ResponseCode.h
|
20bab9ffdcfd2b22c2d1ba897df98750ef195e7d |
|
17-Sep-2013 |
Nick Kralevich <nnk@google.com> |
vold: Remove obsolete xwarp support. This code appears to be unused. Delete it. This is essentially a revert of 2350c44ff39b4cb2940893964a05f778fc80a436. Change-Id: I20a525bb49f6ee8fec8c1ec22e01ad47d0c72960
/system/vold/ResponseCode.h
|
160b4d68ece15947057e31edde4e5608a010c695 |
|
22-Apr-2013 |
Ken Sumrall <ksumrall@android.com> |
vold: Add support for unencrypted persistent info In order to display the correct language, timezone, airplane mode and other settings on the decrypt screen, a copy of those settings needs to be stored unencrypted so the framework can query them. This adds support to vold to store up to 32 property like key/value pairs that are not encrypted. Change-Id: Id5c936d2c57d46ed5cff9325d92ba1e8d2ec8972
/system/vold/ResponseCode.h
|
3ad9072a5d6f6bda32123b367545649364e3c11d |
|
05-Oct-2011 |
Ken Sumrall <ksumrall@android.com> |
Add the new verifypw command to vold/cryptfs This vold command returns 0 if the given password matches the password used to decrypt the device on boot. It returns 1 if they don't match, and it returns -1 on an internal error, and -2 if the device is not encrypted. Also check the uid of the sender of the command and only allow the root and system users to issue cryptfs commands. Change-Id: I5e5ae3b72a2d7814ae68c2d49aa9deb90fb1dac5
/system/vold/ResponseCode.h
|
88ac2c06539485942bf414efda2d39647fa1a415 |
|
23-Mar-2010 |
San Mehat <san@google.com> |
vold: asec path cmd now returns OpFailedStorageNotFound if id doesn't exist Change-Id: Icbe3de7c28505f7496c8f8edea126c7b616de475 Signed-off-by: San Mehat <san@google.com>
/system/vold/ResponseCode.h
|
2350c44ff39b4cb2940893964a05f778fc80a436 |
|
02-Mar-2010 |
San Mehat <san@google.com> |
vold: Add support for xwarp Signed-off-by: San Mehat <san@google.com>
/system/vold/ResponseCode.h
|
8f2875b29780312f4edda3d831cc8a99e1648dd5 |
|
18-Feb-2010 |
San Mehat <san@google.com> |
vold: Clean up asec command response and add support for 'StorageBusy' Signed-off-by: San Mehat <san@google.com>
/system/vold/ResponseCode.h
|
586536c60b773e3517531ad8a6cb0de6722c67fc |
|
17-Feb-2010 |
San Mehat <san@google.com> |
vold: Refactor Processkiller and add command to return users of a mount point Signed-off-by: San Mehat <san@google.com>
/system/vold/ResponseCode.h
|
eba65e9d438a05f1c5dfd0f8d31bc463a5d08eee |
|
29-Jan-2010 |
San Mehat <san@google.com> |
vold: Bloat reduction Signed-off-by: San Mehat <san@google.com>
/system/vold/ResponseCode.h
|
a19b250bd273455933ca3502cf2c2e0a803aff77 |
|
06-Jan-2010 |
San Mehat <san@google.com> |
vold2: Initial support for Android Secure External Caches Signed-off-by: San Mehat <san@google.com>
/system/vold/ResponseCode.h
|
a2677e4ad01f250b0765f04adf0acfa6627efc98 |
|
13-Dec-2009 |
San Mehat <san@google.com> |
vold2: Get mounting/unmounting/formatting/sharing working Signed-off-by: San Mehat <san@google.com>
/system/vold/ResponseCode.h
|