README (1126B)
1 1. loopfs.py SOURCE TARGET 2 Mount SOURCE on TARGET, forward everything from TARGET to SOURCE. 3 4 2. metacachefs.py source target 5 Mount SOURCE on TARGET, keep an unbounded in-memory cache of all the metadata 6 and use it whenever possible. Write operations invalidate relevant parts of the 7 cache. 8 9 3. cachefs.py --cache=CACHE --size=SIZE SOURCE TARGET 10 Mount SOURCE on TARGET and, whenever a file is read from TARGET, replicate it in 11 CACHE and use the version from CACHE. Ensure that the disk usage of CACHE stays 12 below SIZE by removing the files of CACHE with a minimal last access date. 13 Stores the last access dates in CACHE/.cache.db. The files are replicated in 14 CACHE following the hierarchy of SOURCE, so that CACHE can be used (read-only) 15 as an incomplete copy of SOURCE whenever SOURCE is unavailable. Write operations 16 are performed on SOURCE and on CACHE for cached files. 17 18 cachefs.py and metacachefs.py are meant to be used on high-latency, low 19 throughput filesystems such as sshfs or curlftpfs. 20 21 This code is just a toy and has only been tested in trivial settings. It will 22 most probably not work, and could break things. 23