various hacky fuse filesystem utilities
git clone https://a3nm.net/git/fusetoys/
Log | Files | Refs | README

README (1126B)

      1 1. loopfs.py SOURCE TARGET
      2 Mount SOURCE on TARGET, forward everything from TARGET to SOURCE.
      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.
      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.
     18 cachefs.py and metacachefs.py are meant to be used on high-latency, low
     19 throughput filesystems such as sshfs or curlftpfs.
     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.