ITS#6176 silently raise dncache to cachesize if smaller

This commit is contained in:
Howard Chu 2009-06-18 00:16:30 +00:00
parent 861441fcf7
commit 59a29c9801
2 changed files with 9 additions and 1 deletions

View File

@ -147,7 +147,10 @@ will return a different result.
.BI dncachesize \ <integer>
Specify the maximum number of DNs in the in-memory DN cache. The
default is twice the \fBcachesize\fP. Ideally this cache should be
large enough to contain the DNs of every entry in the database.
large enough to contain the DNs of every entry in the database. If
set to a smaller value than the \fBcachesize\fP it will be silently
increased to equal the \fBcachesize\fP.
It should be noted that the \fBDN cache\fP is allowed to temporarily
grow beyond the configured size. It does this if many entries are
locked when it tries to do a purge, because that means they're

View File

@ -374,6 +374,11 @@ shm_retry:
bdb->bi_cache.c_eimax = bdb->bi_cache.c_maxsize * 2;
}
/* dncache must be >= entrycache */
if ( bdb->bi_cache.c_eimax < bdb->bi_cache.c_maxsize ) {
bdb->bi_cache.c_eimax = bdb->bi_cache.c_maxsize;
}
if ( bdb->bi_idl_cache_max_size ) {
bdb->bi_idl_tree = NULL;
bdb->bi_idl_cache_size = 0;