/* Assure at least the required amount of empty slots. If this function causes a grow in the block area then all pointers kept to the block area are invalid!  */
static int assure_empty(rh_info_t *info, int slots)
/* Assure at least the required amount of empty slots. If this function causes a grow in the block area then all pointers kept to the block area are invalid!  */
static int assure_empty(rh_info_t *info, int slots)
{
	int max_blocks;
	if (slots >= 4)
		return -EINVAL;
	if (info->empty_slots >= slots)
		return 0;
	max_blocks = ((info->max_blocks + slots) + 15) & ~15;
	return grow(info, max_blocks);
}