diff options
author | Noriko Hosoi <nhosoi@jiji.usersys.redhat.com> | 2010-10-06 23:27:47 -0700 |
---|---|---|
committer | Noriko Hosoi <nhosoi@jiji.usersys.redhat.com> | 2010-10-06 23:27:47 -0700 |
commit | 3604c48b86e6b6feea63f99bebfecaa346d2bf59 (patch) | |
tree | 4ae6f4b7c0c5a75b605f4a11d3d7fc35cf9e4815 /ldap/servers/slapd | |
parent | 9a00a444cea117d0950bef3bb9327bd05e9d11bb (diff) | |
download | ds-3604c48b86e6b6feea63f99bebfecaa346d2bf59.tar.gz ds-3604c48b86e6b6feea63f99bebfecaa346d2bf59.tar.xz ds-3604c48b86e6b6feea63f99bebfecaa346d2bf59.zip |
Bug 640854 - changelog db: _cl5WriteOperation: failed to
write entry; db error - 22 Invalid argument
https://bugzilla.redhat.com/show_bug.cgi?id=640854
Description: DBENV open flags is used to determine the DB_OPEN mode
whether to set DB_AUTO_COMMIT or not. The info was eliminated in
the change made for "Bug 633168 - Share backend dbEnv with the
replication changelog".
This patch picks up the backend dbenv openflags and uses it for
the changelog DB_OPEN.
Diffstat (limited to 'ldap/servers/slapd')
-rw-r--r-- | ldap/servers/slapd/back-ldbm/dblayer.c | 12 | ||||
-rw-r--r-- | ldap/servers/slapd/slapi-plugin.h | 5 |
2 files changed, 16 insertions, 1 deletions
diff --git a/ldap/servers/slapd/back-ldbm/dblayer.c b/ldap/servers/slapd/back-ldbm/dblayer.c index cd388c9b..95d57a04 100644 --- a/ldap/servers/slapd/back-ldbm/dblayer.c +++ b/ldap/servers/slapd/back-ldbm/dblayer.c @@ -6411,6 +6411,18 @@ ldbm_back_get_info(Slapi_Backend *be, int cmd, void **info) } break; } + case BACK_INFO_DBENV_OPENFLAGS: + { + struct ldbminfo *li = (struct ldbminfo *)be->be_database->plg_private; + if (li) { + dblayer_private *prv = (dblayer_private*)li->li_dblayer_private; + if (prv && prv->dblayer_env) { + *(int *)info = prv->dblayer_env->dblayer_openflags; + rc = 0; + } + } + break; + } case BACK_INFO_INDEXPAGESIZE: { struct ldbminfo *li = (struct ldbminfo *)be->be_database->plg_private; diff --git a/ldap/servers/slapd/slapi-plugin.h b/ldap/servers/slapd/slapi-plugin.h index 8ef2ef8d..4c5bedc5 100644 --- a/ldap/servers/slapd/slapi-plugin.h +++ b/ldap/servers/slapd/slapi-plugin.h @@ -6217,6 +6217,8 @@ int slapi_check_account_lock( Slapi_PBlock *pb, Slapi_Entry *bind_target_entry, * * \note Implemented cmd: * BACK_INFO_DBENV - Get the dbenv + * BACK_INFO_DBENV_OPENFLAGS - Get the dbenv openflags + * BACK_INFO_INDEXPAGESIZE - Get the index page size */ int slapi_back_get_info(Slapi_Backend *be, int cmd, void **info); @@ -6236,7 +6238,8 @@ int slapi_back_set_info(Slapi_Backend *be, int cmd, void *info); enum { BACK_INFO_DBENV, /* Get the dbenv */ - BACK_INFO_INDEXPAGESIZE /* Get the index page size */ + BACK_INFO_INDEXPAGESIZE, /* Get the index page size */ + BACK_INFO_DBENV_OPENFLAGS/* Get the dbenv openflags */ }; #ifdef __cplusplus |