diff options
author | Noriko Hosoi <nhosoi@redhat.com> | 2010-09-12 21:59:29 -0700 |
---|---|---|
committer | Noriko Hosoi <nhosoi@redhat.com> | 2010-09-13 10:06:51 -0700 |
commit | 80ce631a97977c273a56b5d4d7e99a7eaf109d57 (patch) | |
tree | 75207bb0b02a57485d87efedabfcc2fe243eeb06 /ldap/servers/slapd/pblock.c | |
parent | 2a25e6518f6e2bd83dd4750bf023d332edef2063 (diff) | |
download | ds-80ce631a97977c273a56b5d4d7e99a7eaf109d57.tar.gz ds-80ce631a97977c273a56b5d4d7e99a7eaf109d57.tar.xz ds-80ce631a97977c273a56b5d4d7e99a7eaf109d57.zip |
Bug 633168 - Share backend dbEnv with the replication changelog
https://bugzilla.redhat.com/show_bug.cgi?id=633168
Description:
* cl5_api.c, cl5_api.h
- fetches dbEnv from backend using slapi_back_get_info.
- unused macros and DB helper functions and APIs are removed.
* cl5_config.c
- local changelog DB related config parameters are removed.
* Added SLAPI_PLUGIN_BE_PRE_CLOSE_FN and SLAPI_PLUGIN_BE_POST_OPEN_FN to
close changelog DB before dbEnv is closed and to open changelog DB after
dbEnv is opened, respectively.
* Added slapi APIs slapi_back_get_info and slapi_back_set_info to get/set
the backend info.
* back-ldbm
- db2bak[.pl] and bak2db[.pl] backs up and restores the database files
including changelog db.
- changelog dir is backed up in <backupdir>/.repl_changelog_backup.
- underlying implementation ldbm_back_get_info for slapi_back_get_info
is added.
* Added an upgrade script 81changelog.pl
See also:
http://directory.fedoraproject.org/wiki/Move_changelog
Diffstat (limited to 'ldap/servers/slapd/pblock.c')
-rw-r--r-- | ldap/servers/slapd/pblock.c | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/ldap/servers/slapd/pblock.c b/ldap/servers/slapd/pblock.c index c8304af8..4cc6536a 100644 --- a/ldap/servers/slapd/pblock.c +++ b/ldap/servers/slapd/pblock.c @@ -610,6 +610,12 @@ slapi_pblock_get( Slapi_PBlock *pblock, int arg, void *value ) case SLAPI_PLUGIN_DB_ADD_SCHEMA_FN: (*(IFP *)value) = pblock->pb_plugin->plg_add_schema; break; + case SLAPI_PLUGIN_DB_GET_INFO_FN: + (*(IFP *)value) = pblock->pb_plugin->plg_get_info; + break; + case SLAPI_PLUGIN_DB_SET_INFO_FN: + (*(IFP *)value) = pblock->pb_plugin->plg_set_info; + break; case SLAPI_PLUGIN_DB_SEQ_FN: if ( pblock->pb_plugin->plg_type != SLAPI_PLUGIN_DATABASE ) { return( -1 ); @@ -936,6 +942,12 @@ slapi_pblock_get( Slapi_PBlock *pblock, int arg, void *value ) } (*(IFP *)value) = pblock->pb_plugin->plg_bepredelete; break; + case SLAPI_PLUGIN_BE_PRE_CLOSE_FN: + if (pblock->pb_plugin->plg_type != SLAPI_PLUGIN_BEPREOPERATION) { + return( -1 ); + } + (*(IFP *)value) = pblock->pb_plugin->plg_bepreclose; + break; /* backend postoperation plugin */ case SLAPI_PLUGIN_BE_POST_MODIFY_FN: @@ -962,6 +974,12 @@ slapi_pblock_get( Slapi_PBlock *pblock, int arg, void *value ) } (*(IFP *)value) = pblock->pb_plugin->plg_bepostdelete; break; + case SLAPI_PLUGIN_BE_POST_OPEN_FN: + if (pblock->pb_plugin->plg_type != SLAPI_PLUGIN_BEPOSTOPERATION) { + return( -1 ); + } + (*(IFP *)value) = pblock->pb_plugin->plg_bepostopen; + break; /* internal preoperation plugin */ case SLAPI_PLUGIN_INTERNAL_PRE_MODIFY_FN: @@ -2014,6 +2032,12 @@ slapi_pblock_set( Slapi_PBlock *pblock, int arg, void *value ) case SLAPI_PLUGIN_DB_ADD_SCHEMA_FN: pblock->pb_plugin->plg_add_schema = (IFP) value; break; + case SLAPI_PLUGIN_DB_GET_INFO_FN: + pblock->pb_plugin->plg_get_info = (IFP) value; + break; + case SLAPI_PLUGIN_DB_SET_INFO_FN: + pblock->pb_plugin->plg_set_info = (IFP) value; + break; case SLAPI_PLUGIN_DB_SEQ_FN: if ( pblock->pb_plugin->plg_type != SLAPI_PLUGIN_DATABASE ) { return( -1 ); @@ -2332,6 +2356,12 @@ slapi_pblock_set( Slapi_PBlock *pblock, int arg, void *value ) } pblock->pb_plugin->plg_bepredelete = (IFP) value; break; + case SLAPI_PLUGIN_BE_PRE_CLOSE_FN: + if (pblock->pb_plugin->plg_type != SLAPI_PLUGIN_BEPREOPERATION) { + return( -1 ); + } + pblock->pb_plugin->plg_bepreclose = (IFP) value; + break; /* backend postoperation plugin */ case SLAPI_PLUGIN_BE_POST_MODIFY_FN: @@ -2358,7 +2388,12 @@ slapi_pblock_set( Slapi_PBlock *pblock, int arg, void *value ) } pblock->pb_plugin->plg_bepostdelete = (IFP) value; break; - + case SLAPI_PLUGIN_BE_POST_OPEN_FN: + if (pblock->pb_plugin->plg_type != SLAPI_PLUGIN_BEPOSTOPERATION) { + return( -1 ); + } + pblock->pb_plugin->plg_bepostopen = (IFP) value; + break; /* internal preoperation plugin */ case SLAPI_PLUGIN_INTERNAL_PRE_MODIFY_FN: |