]> git.karo-electronics.de Git - karo-tx-linux.git/commit
Btrfs: wake up transaction waiters when aborting a transaction
authorJosef Bacik <josef@redhat.com>
Thu, 31 May 2012 19:49:57 +0000 (15:49 -0400)
committerChris Mason <chris.mason@oracle.com>
Fri, 15 Jun 2012 01:29:12 +0000 (21:29 -0400)
commitd7096fc3ef8360f30f228344bc564d4f97d8a158
treec6a44d0b1cfc13d2449cf0d8ff8b7bae06bf0df1
parentb939d1ab76b4aa816343cdbd8b44ce9929a3b9ef
Btrfs: wake up transaction waiters when aborting a transaction

I was getting lots of hung tasks and a NULL pointer dereference because we
are not cleaning up the transaction properly when it aborts.  First we need
to reset the running_transaction to NULL so we don't get a bad dereference
for any start_transaction callers after this.  Also we cannot rely on
waitqueue_active() since it's just a list_empty(), so just call wake_up()
directly since that will do the barrier for us and such.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
fs/btrfs/disk-io.c
fs/btrfs/transaction.c