I have a Jenkins build server (Linux) and an agent (Windows) that both create large temporary workspaces that can be effectively treated like caches:
- it would be nice if they were kept
- they can be restored if lost
- if lost, data should be missing instead of corrupted
Is there a file system that allows me to sacrifice persistence of data for speed, still allows me to keep data across reboots, but discards data potentially affected by unclean shutdowns, ideally with a granularity of "toplevel directory"?
A typical scenario would be that this would be mounted to the directory containing the workspaces, so each job creates a toplevel directory. While the job is running, various files deep in the hierarchy are read from and written to. If the machine crashes while a job is running, and files might be in an inconsistent state, the entire job directory should be removed during the file system check, because it can be easily recreated.