]> git.sur5r.net Git - openldap/blobdiff - doc/man/man5/slapd-mdb.5
Merge remote-tracking branch 'origin/mdb.master'
[openldap] / doc / man / man5 / slapd-mdb.5
index 9c723d38de69e5e6802441e0820fddcff73f1ab8..8a35b401cdf33ca2b09f51bd9707544544121fa9 100644 (file)
@@ -1,5 +1,5 @@
 .TH SLAPD-MDB 5 "RELEASEDATE" "OpenLDAP LDVERSION"
-.\" Copyright 2011 The OpenLDAP Foundation All Rights Reserved.
+.\" Copyright 2011-2012 The OpenLDAP Foundation All Rights Reserved.
 .\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
 .\" $OpenLDAP$
 .SH NAME
@@ -42,7 +42,9 @@ Note: currently the \fI<kbyte>\fP setting is unimplemented.
 Specify that on-disk database contents should not be immediately
 synchronized with in memory changes.
 Enabling this option may improve performance at the expense of data
-security. By default, a full data flush/sync is performed when each
+security. In particular, if the operating system crashes before changes are
+flushed, some number of transactions may be lost.
+By default, a full data flush/sync is performed when each
 transaction is committed.
 .TP
 .BI directory \ <directory>
@@ -51,6 +53,48 @@ associated indexes live.
 A separate directory must be specified for each database.
 The default is
 .BR LOCALSTATEDIR/openldap\-data .
+.TP
+\fBenvflags \fR{\fBnosync\fR,\fBnometasync\fR,\fBwritemap\fR,\fBmapasync\fR}
+Specify flags for finer-grained control of the MDB library's operation.
+.RS
+.TP
+.B nosync
+This is exactly the same as the
+.I dbnosync
+directive.
+.RE
+.RS
+.TP
+.B nometasync
+Flush the data on a commit, but skip the sync of the meta page. This mode is
+slightly faster than doing a full sync, but can potentially lose the last
+committed transaction if the operating system crashes. If both
+.I nometasync
+and
+.I nosync
+are set, the
+.I nosync
+flag takes precedence.
+.RE
+.RS
+.TP
+.B writemap
+Use a writable memory map instead of just read-only. This speeds up write operations
+but makes the database vulnerable to corruption in case any bugs in slapd
+cause stray writes into the mmap region.
+.RE
+.RS
+.TP
+.B mapasync
+When using a writable memory map and performing flushes on each commit, use an
+asynchronous flush instead of a synchronous flush (the default). This option
+has no effect if
+.I writemap
+has not been set. It also has no effect if
+.I nosync
+is set.
+.RE
+
 .TP
 \fBindex \fR{\fI<attrlist>\fR|\fBdefault\fR} [\fBpres\fR,\fBeq\fR,\fBapprox\fR,\fBsub\fR,\fI<special>\fR]
 Specify the indexes to maintain for the given attribute (or
@@ -126,6 +170,9 @@ The
 .B mdb
 backend honors access control semantics as indicated in
 .BR slapd.access (5).
+.SH NOTES
+This is an early release; the database file format or other
+characteristics may change incompatibly in future releases.
 .SH FILES
 .TP
 .B ETCDIR/slapd.conf