• Josef Bacik's avatar
    Btrfs: wake up transaction waiters when aborting a transaction · d7096fc3
    Josef Bacik authored
    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: default avatarJosef Bacik <josef@redhat.com>
    d7096fc3
transaction.c 40.2 KB