dir: convert open_cached_dir to take an index