Index: third_party/leveldatabase/env_chromium.cc |
diff --git a/third_party/leveldatabase/env_chromium.cc b/third_party/leveldatabase/env_chromium.cc |
index 1a150d144d33fee7bc04ce5526b548871f757d0b..84ae4acbb020c6728b40b39318ff7189d5da6bf5 100644 |
--- a/third_party/leveldatabase/env_chromium.cc |
+++ b/third_party/leveldatabase/env_chromium.cc |
@@ -898,6 +898,22 @@ Status ChromiumEnv::NewWritableFile(const std::string& fname, |
} |
} |
+Status ChromiumEnv::NewAppendableFile(const std::string& fname, |
+ leveldb::WritableFile** result) { |
+ *result = NULL; |
+ FilePath path = FilePath::FromUTF8Unsafe(fname); |
+ scoped_ptr<base::File> f(new base::File( |
+ path, base::File::FLAG_OPEN_ALWAYS | base::File::FLAG_APPEND)); |
+ if (!f->IsValid()) { |
+ RecordErrorAt(kNewAppendableFile); |
+ return MakeIOError(fname, "Unable to create appendable file", |
+ kNewAppendableFile, f->error_details()); |
+ } |
+ *result = |
+ new ChromiumWritableFile(fname, f.release(), this, this, make_backup_); |
+ return Status::OK(); |
+} |
+ |
uint64_t ChromiumEnv::NowMicros() { |
return base::TimeTicks::Now().ToInternalValue(); |
} |