roracache (Read-Only Read-Ahead CACHE) is a FUSE filesystem that provides a cached version of some other part of your filesystem tree.

tl;dr if you have a really slow network share /mnt/bigbox, you can do roracache /mnt/bigbox /mnt/bigbox_fast, and any accesses to /mnt/bigbox_fast will be the same as accesses to /mnt/bigbox, except that there will be a lot of aggressive caching and readahead.

roracache is specifically designed for having a media collection on a network share, and not wanting to put up with various file dialogs etc. being unbearably slow, or with your media playback software never wanting to buffer enough data to withstand a short connectivity blip without misbehaving in other ways. (Looking at you, VLC.)

If the standard output is a terminal, roracache will use liso to display a friendly status display, showing what files are open and what their buffer status is. If you don't want this, redirect standard output to /dev/null.

Requirements

Installation

sh cargo install roracache

Caveats

Legalese

roracache is copyright 2023, Solra Bizna, and licensed under either of:

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the roracache crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.