• Jan Schmidt's avatar
    Btrfs: fix tree mod log rewind of ADD operations · 19956c7e
    Jan Schmidt authored
    When a MOD_LOG_KEY_ADD operation is rewinded, we remove the key from the
    tree block. If its not the last key, removal involves a move operation.
    This move operation was explicitly done before this commit.
    
    However, at insertion time, there's a move operation before the actual
    addition to make room for the new key, which is recorded in the tree mod
    log as well. This means, we must drop the move operation when rewinding the
    add operation, because the next operation we'll be rewinding will be the
    corresponding MOD_LOG_MOVE_KEYS operation.
    Signed-off-by: default avatarJan Schmidt <list.btrfs@jan-o-sch.net>
    19956c7e
ctree.c 134 KB