summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gottlieb <daniel.gottlieb@10gen.com>2016-06-01 17:12:12 -0400
committerDaniel Gottlieb <daniel.gottlieb@10gen.com>2016-06-01 17:12:15 -0400
commit3be32947c18f69028500e5895e64e616afc7c4ec (patch)
tree5ff017fb4f73f44ee7c7f38cf187f9bd6719d2bd
parent551fb26a8ad83c64ea018594c06fbda7002e996c (diff)
downloadmongo-3be32947c18f69028500e5895e64e616afc7c4ec.tar.gz
Reintroduce ExtentManager::Factory to the MMAPV1Engine constructor
-rw-r--r--src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp7
-rw-r--r--src/mongo/db/storage/mmap_v1/mmap_v1_engine.h4
2 files changed, 10 insertions, 1 deletions
diff --git a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp
index e4f4b0340de..e185afe03c7 100644
--- a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp
+++ b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.cpp
@@ -227,8 +227,13 @@ void clearTmpFiles() {
} // namespace
MMAPV1Engine::MMAPV1Engine(const StorageEngineLockFile* lockFile, ClockSource* cs)
+ : MMAPV1Engine(lockFile, cs, stdx::make_unique<MmapV1ExtentManager::Factory>()) {}
+
+MMAPV1Engine::MMAPV1Engine(const StorageEngineLockFile* lockFile,
+ ClockSource* cs,
+ std::unique_ptr<ExtentManager::Factory> extentManagerFactory)
: _recordAccessTracker(cs),
- _extentManagerFactory(stdx::make_unique<MmapV1ExtentManager::Factory>()),
+ _extentManagerFactory(std::move(extentManagerFactory)),
_clock(cs),
_startMs(_clock->now().toMillisSinceEpoch()) {
// TODO check non-journal subdirs if using directory-per-db
diff --git a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.h b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.h
index 80a20ecbb0c..54e8594e053 100644
--- a/src/mongo/db/storage/mmap_v1/mmap_v1_engine.h
+++ b/src/mongo/db/storage/mmap_v1/mmap_v1_engine.h
@@ -46,6 +46,10 @@ class MMAPV1DatabaseCatalogEntry;
class MMAPV1Engine : public StorageEngine {
public:
MMAPV1Engine(const StorageEngineLockFile* lockFile, ClockSource* cs);
+
+ MMAPV1Engine(const StorageEngineLockFile* lockFile,
+ ClockSource* cs,
+ std::unique_ptr<ExtentManager::Factory> extentManagerFactory);
virtual ~MMAPV1Engine();
void finishInit();