• Josef Bacik's avatar
    btrfs: handle errors from select_reloc_root() · cbdc2ebc
    Josef Bacik authored
    Currently select_reloc_root() doesn't return an error, but followup
    patches will make it possible for it to return an error.  We do have
    proper error recovery in do_relocation however, so handle the
    possibility of select_reloc_root() having an error properly instead of
    BUG_ON(!root).
    
    I've also adjusted select_reloc_root() to return ERR_PTR(-ENOENT) if we
    don't find a root, instead of NULL, to make the error case easier to
    deal with.  I've replaced the BUG_ON(!root) with an ASSERT(0) for this
    case as it indicates we messed up the backref walking code, but it could
    also indicate corruption.
    Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    cbdc2ebc
relocation.c 103 KB