diff options
| author | 2015-03-13 01:27:33 +0000 | |
|---|---|---|
| committer | 2015-03-13 01:27:35 +0000 | |
| commit | 388ff39313a6fc4af47d0c4614b1ec6e52b6d691 (patch) | |
| tree | a4af6e9c69ff122f40c9914bbdfb5dc2924bd816 | |
| parent | 63b9e8200e96fd66eefc19bb48cfe7b7f084e4c5 (diff) | |
| parent | 27aec3c54a0319a989f7969ab6a368e9e1ae9d28 (diff) | |
Merge "Don't run full backups until package metadata has been pushed"
| -rw-r--r-- | services/backup/java/com/android/server/backup/BackupManagerService.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java index d35609e80aea..8fcdd39192e8 100644 --- a/services/backup/java/com/android/server/backup/BackupManagerService.java +++ b/services/backup/java/com/android/server/backup/BackupManagerService.java @@ -3909,6 +3909,16 @@ public class BackupManagerService { return; } + // Don't proceed unless we have already established package metadata + // for the current dataset via a key/value backup pass. + File stateDir = new File(mBaseStateDir, transport.transportDirName()); + File pmState = new File(stateDir, PACKAGE_MANAGER_SENTINEL); + if (pmState.length() <= 0) { + Slog.i(TAG, "Full backup requested but dataset not yet initialized " + + "via k/v backup pass; ignoring"); + return; + } + // Set up to send data to the transport final int N = mPackages.size(); for (int i = 0; i < N; i++) { |