• J
    Btrfs: fix not being able to find skinny extents during relocate · aee68ee5
    Josef Bacik 提交于
    We unconditionally search for the EXTENT_ITEM_KEY for metadata during balance,
    and then check the key that we found to see if it is actually a
    METADATA_ITEM_KEY, but this doesn't work right because METADATA is a higher key
    value, so if what we are looking for happens to be the first item in the leaf
    the search will dump us out at the previous leaf, and we won't find our item.
    So instead do what we do everywhere else, search for the skinny extent first and
    if we don't find it go back and re-search for the extent item.  This patch fixes
    the panic I was hitting when balancing a large file system with skinny extents.
    Thanks,
    Signed-off-by: NJosef Bacik <jbacik@fusionio.com>
    aee68ee5
relocation.c 108.3 KB