summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp
diff options
context:
space:
mode:
authorEric Milkie <milkie@10gen.com>2014-12-15 17:09:03 -0500
committerEric Milkie <milkie@10gen.com>2014-12-17 18:22:24 -0500
commitd9a10c7f8bfd3f28b74bb1208188d1f1fb280c5f (patch)
tree425d51b81208d1d2bb0f25669b225d3b735363b3 /src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp
parent8d90ce21ffb7fac21fd9f287ce3d66a4c6b576b8 (diff)
downloadmongo-d9a10c7f8bfd3f28b74bb1208188d1f1fb280c5f.tar.gz
SERVER-16313 whitelist of storage options for WiredTiger
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp')
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp
index 508425b438d..e72c08ce231 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp
@@ -27,7 +27,7 @@
* exception statement from all source files in the program, then also delete
* it in the license file.
*/
-
+
#include "mongo/util/options_parser/startup_option_init.h"
#include "mongo/util/options_parser/startup_options.h"
@@ -35,20 +35,22 @@
namespace mongo {
- // Interface to MongoDB option parsing.
- WiredTigerGlobalOptions wiredTigerGlobalOptions;
-
MONGO_MODULE_STARTUP_OPTIONS_REGISTER(WiredTigerOptions)(InitializerContext* context) {
return wiredTigerGlobalOptions.add(&moe::startupOptions);
}
MONGO_STARTUP_OPTIONS_VALIDATE(WiredTigerOptions)(InitializerContext* context) {
- if (!wiredTigerGlobalOptions.handlePreValidation(moe::startupOptionsParsed)) {
- ::_exit(EXIT_SUCCESS);
- }
- Status ret = moe::startupOptionsParsed.validate();
- if (!ret.isOK()) {
- return ret;
+
+ // Make --syncdelay (syncPeriodSecs in mmapv1) an alias for checkpointDelaySecs in WT
+ moe::Value syncdelayVal;
+ if (moe::startupOptionsParsed.get("storage.mmapv1.syncPeriodSecs", &syncdelayVal).isOK()) {
+ // syncdelay is a double but checkpointDelaySecs is an int.
+ moe::Value newVal(static_cast<int>(syncdelayVal.as<double>()));
+ Status ret = moe::startupOptionsParsed.set(
+ "storage.wiredTiger.engineConfig.checkpointDelaySecs", newVal);
+ if (!ret.isOK()) {
+ return ret;
+ }
}
return Status::OK();
}