Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Unified Diff: chrome/browser/sync_file_system/drive_backend/metadata_database.cc

Issue 377463002: [SyncFS] Handle dirty tracker IDs in MetadataDatabaseIndexOnDisk (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Work for comments Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync_file_system/drive_backend/metadata_database.cc
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
index 8f3a8782017627b6d66226857edd545f487572f2..b31f2ab9f6ed072c015aa59ff26cb5e72d7fed0d 100644
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc
@@ -43,6 +43,8 @@ namespace drive_backend {
namespace {
+void EmptyStatusCallback(SyncStatusCode status) {}
+
std::string FileKindToString(FileKind file_kind) {
switch (file_kind) {
case FILE_KIND_UNSUPPORTED:
@@ -1367,12 +1369,16 @@ MetadataDatabase::ActivationStatus MetadataDatabase::TryActivateTracker(
void MetadataDatabase::LowerTrackerPriority(int64 tracker_id) {
DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread());
- index_->DemoteDirtyTracker(tracker_id);
+ scoped_ptr<leveldb::WriteBatch> batch(new leveldb::WriteBatch);
+ index_->DemoteDirtyTracker(tracker_id, batch.get());
+ WriteToDatabase(batch.Pass(), base::Bind(&EmptyStatusCallback));
}
void MetadataDatabase::PromoteLowerPriorityTrackersToNormal() {
DCHECK(worker_sequence_checker_.CalledOnValidSequencedThread());
- index_->PromoteDemotedDirtyTrackers();
+ scoped_ptr<leveldb::WriteBatch> batch(new leveldb::WriteBatch);
+ index_->PromoteDemotedDirtyTrackers(batch.get());
+ WriteToDatabase(batch.Pass(), base::Bind(&EmptyStatusCallback));
}
bool MetadataDatabase::GetNormalPriorityDirtyTracker(
@@ -1793,6 +1799,7 @@ void MetadataDatabase::WriteToDatabase(scoped_ptr<leveldb::WriteBatch> batch,
return;
}
+ // TODO(peria): Write to DB on disk synchronously.
file_task_runner_->PostTask(
FROM_HERE,
base::Bind(&WriteOnFileTaskRunner,

Powered by Google App Engine
This is Rietveld 408576698