OSDN Git Service

Consistent creation/destruction of user data.
authorJeff Sharkey <jsharkey@android.com>
Fri, 15 Apr 2016 02:44:58 +0000 (20:44 -0600)
committerJeff Sharkey <jsharkey@android.com>
Fri, 15 Apr 2016 19:35:36 +0000 (13:35 -0600)
commitfcf1e55821b694df3b8434f40aa3b6d3c3e7ea50
treed4217900573f3f93510029df0f4868b708a57a7d
parentf2abc9d299f74a73010d0543e27215980555382f
Consistent creation/destruction of user data.

Preparing and destroying users currently needs to be split across
installd, system_server, and vold, since no single party has all the
required SELinux permissions.

When preparing user directories on a storage device, always enforce
the serial number and destroy data if we run into a mismatch.  When
deleting a user, write the updated user list first before we start
destroying data.  Also start reconciling users on internal storage
at boot, so we can recover from stale data left behind from partially
destroyed users.

Check both CE and DE user directories when reconciling user storage
on a newly mounted storage device.

Bug: 27896918
Change-Id: I4536c82b0196e2720628c4f73fccb742c233350b
core/java/android/os/FileUtils.java
core/java/android/os/storage/IMountService.java
core/java/android/os/storage/StorageManager.java
services/core/java/com/android/server/MountService.java
services/core/java/com/android/server/pm/Installer.java
services/core/java/com/android/server/pm/PackageManagerService.java
services/core/java/com/android/server/pm/UserManagerService.java