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 73aa434c755e0dbe515705fb2ba962fa043ad488..4f8946ce71a169a29addef71013872a174d5fa8a 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database.cc |
@@ -45,8 +45,8 @@ namespace drive_backend { |
namespace { |
-// Command line flag to enable on-disk indexing. |
-const char kEnableMetadataDatabaseOnDisk[] = "enable-syncfs-on-disk-indexing"; |
+// Command line flag to disable on-disk indexing. |
+const char kDisableMetadataDatabaseOnDisk[] = "disable-syncfs-on-disk-indexing"; |
void EmptyStatusCallback(SyncStatusCode status) {} |
@@ -262,8 +262,8 @@ SyncStatusCode MigrateDatabaseIfNeeded(LevelDBWrapper* db) { |
// TODO(peria): Move the migration code (from v3 to v4) here. |
return SYNC_STATUS_OK; |
case 4: |
- if (!CommandLine::ForCurrentProcess()->HasSwitch( |
- kEnableMetadataDatabaseOnDisk)) { |
+ if (CommandLine::ForCurrentProcess()->HasSwitch( |
+ kDisableMetadataDatabaseOnDisk)) { |
MigrateDatabaseFromV4ToV3(db->GetLevelDB()); |
} |
return SYNC_STATUS_OK; |
@@ -551,10 +551,13 @@ void MetadataDatabase::Create( |
// static |
SyncStatusCode MetadataDatabase::CreateForTesting( |
scoped_ptr<LevelDBWrapper> db, |
+ bool enable_on_disk_index, |
scoped_ptr<MetadataDatabase>* metadata_database_out) { |
scoped_ptr<MetadataDatabase> metadata_database( |
new MetadataDatabase(base::ThreadTaskRunnerHandle::Get(), |
- base::FilePath(), NULL)); |
+ base::FilePath(), |
+ enable_on_disk_index, |
+ NULL)); |
metadata_database->db_ = db.Pass(); |
SyncStatusCode status = metadata_database->Initialize(); |
if (status == SYNC_STATUS_OK) |
@@ -1405,10 +1408,12 @@ void MetadataDatabase::SweepDirtyTrackers( |
MetadataDatabase::MetadataDatabase( |
const scoped_refptr<base::SequencedTaskRunner>& worker_task_runner, |
const base::FilePath& database_path, |
+ bool enable_on_disk_index, |
leveldb::Env* env_override) |
: worker_task_runner_(worker_task_runner), |
database_path_(database_path), |
env_override_(env_override), |
+ enable_on_disk_index_(enable_on_disk_index), |
largest_known_change_id_(0), |
weak_ptr_factory_(this) { |
DCHECK(worker_task_runner.get()); |
@@ -1420,9 +1425,12 @@ void MetadataDatabase::CreateOnWorkerTaskRunner( |
const CreateCallback& callback) { |
DCHECK(create_param->worker_task_runner->RunsTasksOnCurrentThread()); |
+ bool enable_on_disk_index = !CommandLine::ForCurrentProcess()->HasSwitch( |
+ kDisableMetadataDatabaseOnDisk); |
scoped_ptr<MetadataDatabase> metadata_database( |
new MetadataDatabase(create_param->worker_task_runner, |
create_param->database_path, |
+ enable_on_disk_index, |
create_param->env_override)); |
SyncStatusCode status = metadata_database->Initialize(); |
@@ -1434,6 +1442,7 @@ void MetadataDatabase::CreateOnWorkerTaskRunner( |
metadata_database.reset( |
new MetadataDatabase(create_param->worker_task_runner, |
create_param->database_path, |
+ enable_on_disk_index, |
create_param->env_override)); |
status = metadata_database->Initialize(); |
} |
@@ -1468,8 +1477,7 @@ SyncStatusCode MetadataDatabase::Initialize() { |
return status; |
} |
- if (CommandLine::ForCurrentProcess()->HasSwitch( |
- kEnableMetadataDatabaseOnDisk)) { |
+ if (enable_on_disk_index_) { |
index_ = MetadataDatabaseIndexOnDisk::Create(db_.get()); |
} else { |
index_ = MetadataDatabaseIndex::Create(db_.get()); |