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

Unified Diff: extensions/browser/value_store/lazy_leveldb.cc

Issue 2953473002: Use leveldb_env::OpenDB() to open leveldb databases. (Closed)
Patch Set: Don't dump in background mode Created 3 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: extensions/browser/value_store/lazy_leveldb.cc
diff --git a/extensions/browser/value_store/lazy_leveldb.cc b/extensions/browser/value_store/lazy_leveldb.cc
index ca5501d075f90b056b7d8a160d15dbf76e26d90e..212b56ead2c3dc10885c60edbfa3072ffb84de70 100644
--- a/extensions/browser/value_store/lazy_leveldb.cc
+++ b/extensions/browser/value_store/lazy_leveldb.cc
@@ -181,24 +181,21 @@ ValueStore::BackingStoreRestoreStatus LazyLevelDb::FixCorruption(
// RepairDB can drop an unbounded number of leveldb tables (key/value sets).
s = leveldb::RepairDB(db_path_.AsUTF8Unsafe(), repair_options);
- leveldb::DB* db = nullptr;
if (s.ok()) {
restore_status = ValueStore::DB_RESTORE_REPAIR_SUCCESS;
- s = leveldb::DB::Open(open_options_, db_path_.AsUTF8Unsafe(), &db);
+ s = leveldb_env::OpenDB(open_options_, db_path_.AsUTF8Unsafe(), &db_);
}
if (!s.ok()) {
if (DeleteDbFile()) {
restore_status = ValueStore::DB_RESTORE_DELETE_SUCCESS;
- s = leveldb::DB::Open(open_options_, db_path_.AsUTF8Unsafe(), &db);
+ s = leveldb_env::OpenDB(open_options_, db_path_.AsUTF8Unsafe(), &db_);
} else {
restore_status = ValueStore::DB_RESTORE_DELETE_FAILURE;
}
}
- if (s.ok())
- db_.reset(db);
- else
+ if (!s.ok())
db_unrecoverable_ = true;
if (s.ok() && key) {
@@ -208,7 +205,7 @@ ValueStore::BackingStoreRestoreStatus LazyLevelDb::FixCorruption(
} else if (s.IsIOError()) {
restore_status = ValueStore::VALUE_RESTORE_DELETE_FAILURE;
} else {
- db_.reset(db);
+ db_.reset();
if (!DeleteDbFile())
db_unrecoverable_ = true;
restore_status = ValueStore::DB_RESTORE_DELETE_FAILURE;
@@ -233,14 +230,11 @@ ValueStore::Status LazyLevelDb::EnsureDbIsOpen() {
"Database corrupted");
}
- leveldb::DB* db = nullptr;
leveldb::Status ldb_status =
- leveldb::DB::Open(open_options_, db_path_.AsUTF8Unsafe(), &db);
+ leveldb_env::OpenDB(open_options_, db_path_.AsUTF8Unsafe(), &db_);
open_histogram_->Add(leveldb_env::GetLevelDBStatusUMAValue(ldb_status));
ValueStore::Status status = ToValueStoreError(ldb_status);
- if (ldb_status.ok()) {
- db_.reset(db);
- } else if (ldb_status.IsCorruption()) {
+ if (ldb_status.IsCorruption()) {
status.restore_status = FixCorruption(nullptr);
if (status.restore_status != ValueStore::DB_RESTORE_DELETE_FAILURE) {
status.code = ValueStore::OK;

Powered by Google App Engine
This is Rietveld 408576698