• Poul-Henning Kamp's avatar
    Ohh, man... · f9a8797d
    Poul-Henning Kamp authored
    So imagine an object during fetch, where we have allocated
    the storage for the object structure, the persistent silo
    gets synced, so the data ends up in the next segment, and
    then we crash before that segment gets synched to silo.
    
    On restart the object looks good, until we try to access
    its storage... *bewm*
    
    This is a stopgap, that catches such objects and neuters
    them, using a set of paranoid sanitychecks we should
    employ in any case.
    
    There still is a relevant hole: As above, but after
    the restart we manage to write a new segment before
    the initial object is accessed, and it happens to
    have a storage structure just the same place (not
    unlikely at the beginning)
    
    We do not crash in this case, but deliver wrong content.
    
    Did I ever mention that -spersistent for all practical
    purposes is a filesytem ?
    f9a8797d
p00007.vtc 1.32 KB