]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-mdb/config.c
ITS#7725 add nordahead envflag
[openldap] / servers / slapd / back-mdb / config.c
index 24c1e292d3c15edf23c52a1533c5b63ed0085aed..84224df29dfe99bf230efcaaa2b8de7137981a4b 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2000-2012 The OpenLDAP Foundation.
+ * Copyright 2000-2013 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -104,6 +104,7 @@ static slap_verbmasks mdb_envflags[] = {
        { BER_BVC("nometasync"),        MDB_NOMETASYNC },
        { BER_BVC("writemap"),  MDB_WRITEMAP },
        { BER_BVC("mapasync"),  MDB_MAPASYNC },
+       { BER_BVC("nordahead"), MDB_NORDAHEAD },
        { BER_BVNULL, 0 }
 };
 
@@ -114,7 +115,7 @@ mdb_checkpoint( void *ctx, void *arg )
        struct re_s *rtask = arg;
        struct mdb_info *mdb = rtask->arg;
 
-       mdb_env_sync( mdb->mi_dbenv, 0 );
+       mdb_env_sync( mdb->mi_dbenv, 1 );
        ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
        ldap_pvt_runqueue_stoptask( &slapd_rq, rtask );
        ldap_pvt_thread_mutex_unlock( &slapd_rq.rq_mutex );
@@ -194,8 +195,13 @@ mdb_online_index( void *ctx, void *arg )
                        mdb_txn_abort( txn );
                        txn = NULL;
                }
-               if ( rc )
+               if ( rc ) {
+                       Debug( LDAP_DEBUG_ANY,
+                               LDAP_XSTRING(mdb_online_index) ": database %s: "
+                               "txn_commit failed: %s (%d)\n",
+                               be->be_suffix[0].bv_val, mdb_strerror(rc), rc );
                        break;
+               }
                id++;
                getnext = 1;
        }