• Kirill Smelkov's avatar
    wcfs: Handle ZODB invalidations · 4430de41
    Kirill Smelkov authored
    Use ΔFtail.Track on every READ, and query accumulated ΔFtail upon
    receiving ZODB invalidation to query it about which blocks of which
    files have been changed. Then invalidate those blocks in OS file cache.
    
    See added documentation to wcfs.go and notes.txt for details.
    
    Now the filesystem is no longer stale: it provides view of data
    that is uptodate wrt changes on ZODB storage.
    
    Some preliminary history:
    
    9b4a42a3    X invalidation design draftly settled
    27d91d47    X δFtail settled
    33e0dfce    X ΔTail draftly done
    822366a7    X keeping fd to root opened prevents the filesystem from being unmounted
    89ad3a79    X Don't keep ZBigFile activated during whole current transaction
    245511ac    X Give pointer on from where to get nxd-fuse.ko
    d1cd128c    X Hit FUSE-related deadlock
    d134ee44    X FUSE lookup deadlock should be hopefully fixed
    0e60e9ff    X wcfs: Don't noise ZWatcher trace logs with "select ..."
    bf9a7405    X No longer rely on ZODB cache invariant for invalidations
    4430de41
wcfs.go 46 KB