• Sage Weil's avatar
    ceph: fix snap rebuild condition · ec4318bc
    Sage Weil authored
    We were rebuilding the snap context when it was not necessary
    (i.e. when the realm seq hadn't changed _and_ the parent seq
    was still older), which caused page snapc pointers to not match
    the realm's snapc pointer (even though the snap context itself
    was identical).  This confused begin_write and put it into an
    endless loop.
    
    The correct logic is: rebuild snapc if _my_ realm seq changed, or
    if my parent realm's seq is newer than mine (and thus mine needs
    to be rebuilt too).
    Signed-off-by: default avatarSage Weil <sage@newdream.net>
    ec4318bc
snap.c 25 KB