summaryrefslogtreecommitdiffstats
path: root/sync/syncable/on_disk_directory_backing_store.h
diff options
context:
space:
mode:
authorhaitaol@chromium.org <haitaol@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-05 01:15:51 +0000
committerhaitaol@chromium.org <haitaol@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-05 01:15:51 +0000
commit6add02aaf5d93a32bec7e32e1b0ff527f1bb3d18 (patch)
treeb2a8fbec180d9a6457ed0856a5cb213e9e2c751a /sync/syncable/on_disk_directory_backing_store.h
parent0e11e9fa745c6174f709773346368c4f771ddb2f (diff)
downloadchromium_src-6add02aaf5d93a32bec7e32e1b0ff527f1bb3d18.zip
chromium_src-6add02aaf5d93a32bec7e32e1b0ff527f1bb3d18.tar.gz
chromium_src-6add02aaf5d93a32bec7e32e1b0ff527f1bb3d18.tar.bz2
[Sync] Add support for loading, updating and querying delete journals in
Directory. Delete journals keeps deleted metas until the persistence of the deletes in native model is confirmed. When an entry is deleted in sync model, a copy is added to delete journals in memory and saved in database later. Next time when the client restarts, if some native data doesn't match with sync data but matches with a delete journal, it's safe to assume that it's because native delete was not persisted and the native data should be deleted. This helps prevent back-from-dead problem due to native model and sync model get out-of-sync. BUG=121928 Review URL: https://chromiumcodereview.appspot.com/11441026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175248 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/syncable/on_disk_directory_backing_store.h')
-rw-r--r--sync/syncable/on_disk_directory_backing_store.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sync/syncable/on_disk_directory_backing_store.h b/sync/syncable/on_disk_directory_backing_store.h
index 95a61e1..06e14b8 100644
--- a/sync/syncable/on_disk_directory_backing_store.h
+++ b/sync/syncable/on_disk_directory_backing_store.h
@@ -22,12 +22,14 @@ class SYNC_EXPORT_PRIVATE OnDiskDirectoryBackingStore
virtual ~OnDiskDirectoryBackingStore();
virtual DirOpenResult Load(
MetahandlesIndex* entry_bucket,
+ JournalIndex* delete_journals,
Directory::KernelLoadInfo* kernel_load_info) OVERRIDE;
// A helper function that will make one attempt to load the directory.
// Unlike Load(), it does not attempt to recover from failure.
DirOpenResult TryLoad(
MetahandlesIndex* entry_bucket,
+ JournalIndex* delete_journals,
Directory::KernelLoadInfo* kernel_load_info);
protected: