--- a/third/blackwidow/src/db_checkpoint.cc
+++ b/third/blackwidow/src/db_checkpoint.cc
@@ -18,16 +18,29 @@
 #include <inttypes.h>
 
 #include "rocksdb/db.h"
-#include "util/file_util.h"
+//#include "util/file_util.h"
 
 #if (ROCKSDB_MAJOR < 5 || (ROCKSDB_MAJOR == 5 && ROCKSDB_MINOR < 3))
 #include "db/filename.h"
 #else
-#include "util/filename.h"
+//#include "util/filename.h"
 #endif
 
 namespace rocksdb {
 
+class IOTracer;
+
+extern Status CopyFile(FileSystem* env, const std::string& source,
+                       const std::string& destination, uint64_t size,
+                       bool use_fsync,
+                       const std::shared_ptr<IOTracer>& io_tracer = nullptr);
+
+extern Status CreateFile(FileSystem* env, const std::string& destination,
+                         const std::string& contents, bool);
+
+extern bool ParseFileName(const std::string& filename, uint64_t* number,
+                          FileType* type, WalFileType* log_type = nullptr);
+
 class DBCheckpointImpl : public DBCheckpoint {
  public:
   // Creates a DBCheckPoint object to be used for creating openable snapshots
@@ -177,11 +190,11 @@
     if ((type != kTableFile) || (!same_fs)) {
       Log(db_->GetOptions().info_log, "Copying %s", src_fname.c_str());
 #if (ROCKSDB_MAJOR < 5 || (ROCKSDB_MAJOR == 5 && ROCKSDB_MINOR < 3))
-      s = CopyFile(db_->GetEnv(), db_->GetName() + src_fname,
+      s = CopyFile(db_->GetFileSystem(), db_->GetName() + src_fname,
                    full_private_path + src_fname,
                    (type == kDescriptorFile) ? manifest_file_size : 0);
 #else
-      s = CopyFile(db_->GetEnv(), db_->GetName() + src_fname,
+      s = CopyFile(db_->GetFileSystem(), db_->GetName() + src_fname,
                    full_private_path + src_fname,
                    (type == kDescriptorFile) ? manifest_file_size : 0, false);
 #endif
@@ -193,7 +206,7 @@
     s = CreateFile(db_->GetEnv(), full_private_path + current_fname,
                    manifest_fname.substr(1) + "\n");
 #else
-    s = CreateFile(db_->GetEnv(), full_private_path + current_fname,
+    s = CreateFile(db_->GetFileSystem(), full_private_path + current_fname,
                    manifest_fname.substr(1) + "\n", false);
 #endif
   }
@@ -214,7 +227,7 @@
                      full_private_path + live_wal_files[i]->PathName(),
                      live_wal_files[i]->SizeFileBytes());
 #else
-        s = CopyFile(db_->GetEnv(),
+        s = CopyFile(db_->GetFileSystem(),
                      db_->GetOptions().wal_dir + live_wal_files[i]->PathName(),
                      full_private_path + live_wal_files[i]->PathName(),
                      live_wal_files[i]->SizeFileBytes(), false);
@@ -241,7 +254,7 @@
                      db_->GetOptions().wal_dir + live_wal_files[i]->PathName(),
                      full_private_path + live_wal_files[i]->PathName(), 0);
 #else
-        s = CopyFile(db_->GetEnv(),
+        s = CopyFile(db_->GetFileSystem(),
                      db_->GetOptions().wal_dir + live_wal_files[i]->PathName(),
                      full_private_path + live_wal_files[i]->PathName(),
                      0, false);
@@ -258,7 +271,7 @@
     s = db_->GetEnv()->RenameFile(full_private_path, checkpoint_dir);
   }
   if (s.ok()) {
-    unique_ptr<Directory> checkpoint_directory;
+    std::unique_ptr<Directory> checkpoint_directory;
     db_->GetEnv()->NewDirectory(checkpoint_dir, &checkpoint_directory);
     if (checkpoint_directory != nullptr) {
       s = checkpoint_directory->Fsync();
