mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-24 13:24:56 +08:00
Tweak: For slap tools, don't set DB_RECOVERY flag when opening DB environment.
This allows slapcat to run while slapd is running, otherwise causes db corruption.
This commit is contained in:
parent
a073e28510
commit
e514685144
@ -197,7 +197,12 @@ bdb_db_open( BackendDB *be )
|
|||||||
}
|
}
|
||||||
|
|
||||||
flags = DB_INIT_MPOOL | DB_THREAD | DB_CREATE
|
flags = DB_INIT_MPOOL | DB_THREAD | DB_CREATE
|
||||||
| DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_TXN | DB_RECOVER;
|
| DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_TXN;
|
||||||
|
|
||||||
|
/* Only slapd will do recovery, slap-tools won't. Otherwise
|
||||||
|
* running slapcat while slapd is active corrupts the db.
|
||||||
|
*/
|
||||||
|
if( !(slapMode & SLAP_TOOL_MODE) ) flags |= DB_RECOVER;
|
||||||
|
|
||||||
bdb->bi_dbenv->set_errpfx( bdb->bi_dbenv, be->be_suffix[0].bv_val );
|
bdb->bi_dbenv->set_errpfx( bdb->bi_dbenv, be->be_suffix[0].bv_val );
|
||||||
bdb->bi_dbenv->set_errcall( bdb->bi_dbenv, bdb_errcall );
|
bdb->bi_dbenv->set_errcall( bdb->bi_dbenv, bdb_errcall );
|
||||||
|
Loading…
Reference in New Issue
Block a user