Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7de3845 authored by Christopher Tate's avatar Christopher Tate
Browse files

Only write to the pending-backup journal when necessary

We now only commit to the pending-backup journal on disk the first time that a
given package is added to the backup set.  This avoids a lot of write thrashing
of the disk, particularly since Settings tends to call dataChanged() a great
many times during boot, while the Settings UI is in use, etc.
parent c4cf22e8
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1212,12 +1212,14 @@ class BackupManagerService extends IBackupManager.Stub {
                        // Add the caller to the set of pending backups.  If there is
                        // one already there, then overwrite it, but no harm done.
                        BackupRequest req = new BackupRequest(app, false);
                        mPendingBackups.put(app, req);

                        // Journal this request in case of crash
                        if (mPendingBackups.put(app, req) == null) {
                            // Journal this request in case of crash.  The put()
                            // operation returned null when this package was not already
                            // in the set; we want to avoid touching the disk redundantly.
                            writeToJournalLocked(packageName);
                        }
                    }
                }

                if (DEBUG) {
                    int numKeys = mPendingBackups.size();