Merge pull request #900 from shuzhang1989/hdfs_env_fix

add a factory method for creating hdfs env
This commit is contained in:
Siying Dong 2015-12-28 09:28:04 -08:00
commit 7fafd52dce
2 changed files with 13 additions and 0 deletions

View File

@ -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_

View File

@ -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