• Josef Bacik's avatar
    Btrfs: if we aren't committing just end the transaction if we error out · e4a2bcac
    Josef Bacik authored
    I hit a deadlock where transaction commit was waiting on num_writers to be
    0.  This happened because somebody came into btrfs_commit_transaction and
    noticed we had aborted and it went to cleanup_transaction.  This shouldn't
    happen because cleanup_transaction is really to fixup a bad commit, it
    doesn't do the normal trans handle cleanup things.  So if we have an error
    just do the normal btrfs_end_transaction dance and return.  Once we are in
    the actual commit path we can use cleanup_transaction and be good to go.
    Thanks,
    Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    e4a2bcac
transaction.c 48 KB