diff --git a/servers/slapd/back-bdb/monitor.c b/servers/slapd/back-bdb/monitor.c index 87d31207d4..9c16fab2a8 100644 --- a/servers/slapd/back-bdb/monitor.c +++ b/servers/slapd/back-bdb/monitor.c @@ -275,6 +275,10 @@ bdb_monitor_db_init( BackendDB *be ) { struct bdb_info *bdb = (struct bdb_info *) be->be_private; + if ( SLAP_GLUE_SUBORDINATE( be ) ) { + return 0; + } + if ( bdb_monitor_initialize() == LDAP_SUCCESS ) { /* monitoring in back-bdb is on by default */ SLAP_DBFLAGS( be ) |= SLAP_DBFLAG_MONITORING; @@ -304,6 +308,10 @@ bdb_monitor_db_open( BackendDB *be ) return 0; } + if ( SLAP_GLUE_SUBORDINATE( be ) ) { + return 0; + } + mi = backend_info( "monitor" ); if ( !mi || !mi->bi_extra ) { SLAP_DBFLAGS( be ) ^= SLAP_DBFLAG_MONITORING; @@ -500,6 +508,10 @@ bdb_monitor_db_close( BackendDB *be ) { struct bdb_info *bdb = (struct bdb_info *) be->be_private; + if ( SLAP_GLUE_SUBORDINATE( be ) ) { + return 0; + } + if ( !BER_BVISNULL( &bdb->bi_monitor.bdm_filter ) ) { BackendInfo *mi = backend_info( "monitor" ); monitor_extra_t *mbe; @@ -529,5 +541,9 @@ bdb_monitor_db_close( BackendDB *be ) int bdb_monitor_db_destroy( BackendDB *be ) { + if ( SLAP_GLUE_SUBORDINATE( be ) ) { + return 0; + } + return 0; }