Btrfs: if we aren't committing just end the transaction if we error out
authorJosef Bacik <jbacik@fusionio.com>
Wed, 6 Feb 2013 21:55:41 +0000 (16:55 -0500)
committerJosef Bacik <jbacik@fusionio.com>
Wed, 20 Feb 2013 17:59:35 +0000 (12:59 -0500)
commite4a2bcaca9643e7430207810653222fc5187f2be
tree204d6af57fbf70525359f5a2aa717a4785b89cd5
parent3e04e7f10b68999e0d8321516ea19d9d5b044dee
Btrfs: if we aren't committing just end the transaction if we error out

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: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/transaction.c