• Chris Mason's avatar
    Btrfs: add check for changed leaves in setup_leaf_for_split · 109f6aef
    Chris Mason authored
    setup_leaf_for_split needs to drop the path and search again, and has
    checks to see if the item we want to split changed size.  But, it misses
    the case where the leaf changed and now has enough room for the item
    we want to insert.
    
    This adds an extra check to make sure the leaf really needs splitting
    before we call btrfs_split_leaf(), which keeps us from trying to split
    a leaf with a single item.
    
    btrfs_split_leaf() will blindly split the single item leaf, leaving us
    with one good leaf and one empty leaf and then a crash.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    109f6aef
ctree.c 112 KB