• Kirill Smelkov's avatar
    wcfs: xbtree: ΔBtail · 2ab4be93
    Kirill Smelkov authored
    ΔBtail provides BTree-level history tail that WCFS - via ΔFtail - will
    use to compute which blocks of a ZBigFile need to be invalidated in OS
    file cache given raw ZODB changes on ZODB invalidation message.
    
    It also will be used by WCFS to implement isolation protocol, where on
    every FUSE READ request WCFS will query ΔBtail - again via ΔFtail - to
    find out revision of corresponding file block.
    
    Quoting ΔBtail documentation:
    
    ---- 8< ----
    
    ΔBtail provides BTree-level history tail.
    
    It translates ZODB object-level changes to information about which keys of
    which BTree were modified, and provides service to query that information.
    
    ΔBtail class documentation
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    ΔBtail represents tail of revisional changes to BTrees.
    
    It semantically consists of
    
        []δB			; rev ∈ (tail, head]
    
    where δB represents a change in BTrees space
    
        δB:
        	.rev↑
        	{} root -> {}(key, δvalue)
    
    It covers only changes to keys from tracked subset of BTrees parts.
    In par...
    2ab4be93