Merge pull request #900 from shuzhang1989/hdfs_env_fix

add a factory method for creating hdfs env
main
Siying Dong 9 years ago
commit 7fafd52dce
  1. 4
      include/rocksdb/env.h
  2. 9
      util/env_hdfs.cc

@ -947,6 +947,10 @@ class WritableFileWrapper : public WritableFile {
// *base_env must remain live while the result is in use.
Env* NewMemEnv(Env* base_env);
// Returns a new environment that is used for HDFS environment.
// This is a factory method for HdfsEnv declared in hdfs/env_hdfs.h
Status NewHdfsEnv(Env** hdfs_env, const std::string& fsname);
} // namespace rocksdb
#endif // STORAGE_ROCKSDB_INCLUDE_ENV_H_

@ -594,6 +594,11 @@ Status HdfsEnv::NewLogger(const std::string& fname,
return Status::OK();
}
// The factory method for creating an HDFS Env
Status NewHdfsEnv(Env** hdfs_env, const std::string& fsname) {
*hdfs_env = new HdfsEnv(fsname);
return Status::OK();
}
} // namespace rocksdb
#endif // ROCKSDB_HDFS_FILE_C
@ -607,6 +612,10 @@ namespace rocksdb {
const EnvOptions& options) {
return Status::NotSupported("Not compiled with hdfs support");
}
Status NewHdfsEnv(Env** hdfs_env, const std::string& fsname) {
return Status::NotSupported("Not compiled with hdfs support");
}
}
#endif

Loading…
Cancel
Save