modernizing page_cache_file and cache_page