00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "db_config.h"
00011
00012 #ifndef NO_SYSTEM_INCLUDES
00013 #include <sys/types.h>
00014
00015 #include <stdlib.h>
00016
00017 #include <string.h>
00018 #endif
00019
00020 #include "db_int.h"
00021
00022
00023
00024
00025
00026
00027
00028 int
00029 __db_util_cache(dbp, cachep, resizep)
00030 DB *dbp;
00031 u_int32_t *cachep;
00032 int *resizep;
00033 {
00034 u_int32_t pgsize;
00035 int ret;
00036
00037
00038 if ((ret = dbp->get_pagesize(dbp, &pgsize)) != 0)
00039 return (ret);
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 if ((*cachep / pgsize) < DB_MINPAGECACHE) {
00050 *resizep = 1;
00051 *cachep = pgsize * DB_MINPAGECACHE;
00052 } else
00053 *resizep = 0;
00054
00055 return (0);
00056 }