lint flagged this code:
/* * Another pathological case: if there are only a tiny number of * candidate pages in cache, don't put all of them on one queue. */ if (F_ISSET(cache, WT_CACHE_EVICT_CLEAN)) max_entries = WT_MIN(max_entries, 1 + (uint32_t)(__wt_cache_pages_inuse(cache) / 2)); else max_entries = WT_MIN(max_entries, 1 + (uint32_t)(cache->pages_dirty_leaf / 2));
Because WT_MIN() evaluates its arguments twice, lint notes __wt_cache_pages_inuse() could test less than max_entries, change, and then be greater than max_entries when assigned.