summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Bostic <keith@wiredtiger.com>2013-05-06 10:01:59 -0400
committerKeith Bostic <keith@wiredtiger.com>2013-05-06 10:01:59 -0400
commit86584354b9d569e0a1486c9158f3ad95bbf81499 (patch)
treec880b8074d2e3f9b2454ded55de7507d48717da4 /src
parenta2d6cc34deaa39c52629f05974338b25bbd36fe9 (diff)
downloadmongo-86584354b9d569e0a1486c9158f3ad95bbf81499.tar.gz
Document that direct_io=[data] (O_DIRECT for data files) implies that you
should turn off mmap (mmap=false), and utilities used to copy backup files should probably also specify O_DIRECT. Ref #526.
Diffstat (limited to 'src')
-rw-r--r--src/docs/hot_backup.dox6
-rw-r--r--src/include/wiredtiger.in10
2 files changed, 14 insertions, 2 deletions
diff --git a/src/docs/hot_backup.dox b/src/docs/hot_backup.dox
index 981c1053d85..d0fc402efbb 100644
--- a/src/docs/hot_backup.dox
+++ b/src/docs/hot_backup.dox
@@ -55,4 +55,10 @@ have been copied before the cursor is closed.
can be created, but no checkpoints can be deleted. This may result in
significant file growth.
+- Many Linux systems do not support mixing \c O_DIRECT and memory
+mapping or normal I/O to the same file. If \c O_DIRECT is configured
+for data files on Linux systems (using the wiredtiger_open \c direct_io
+configuration), the utilities used to copy the database files should
+probably also specify \c O_DIRECT when configuring their file access.
+
*/
diff --git a/src/include/wiredtiger.in b/src/include/wiredtiger.in
index be499ee500b..13ad9a37d12 100644
--- a/src/include/wiredtiger.in
+++ b/src/include/wiredtiger.in
@@ -1337,8 +1337,14 @@ struct __wt_connection {
* @config{create, create the database if it does not exist., a boolean flag;
* default \c false.}
* @config{direct_io, Use \c O_DIRECT to access files. Options are given as a
- * list\, such as <code>"direct_io=[data]"</code>., a list\, with values chosen
- * from the following options: \c "data"\, \c "log"; default empty.}
+ * list\, such as <code>"direct_io=[data]"</code>. Many Linux systems do not
+ * support mixing \c O_DIRECT and memory mapping or normal I/O to the same file.
+ * If \c O_DIRECT is configured for data files on Linux systems\, memory mapping
+ * should probably be turned off using the \c mmap=false configuration string
+ * and any utilities used to copy the database files for the purposes of hot
+ * backup should probably also specify \c O_DIRECT when configuring their file
+ * access., a list\, with values chosen from the following options: \c "data"\,
+ * \c "log"; default empty.}
* @config{error_prefix, prefix string for error messages., a string; default
* empty.}
* @config{eviction_dirty_target, continue evicting until the cache has less