diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index 6b2e4786d189e11a8b596f3313e36d244391b272..2b3590b9fe98a6107efc9a7b13ce053e499c049e 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -1118,8 +1118,11 @@ int btrfs_commit_transaction_async(struct btrfs_trans_handle *trans, wait_current_trans_commit_start_and_unblock(root, cur_trans); else wait_current_trans_commit_start(root, cur_trans); - put_transaction(cur_trans); + if (current->journal_info == trans) + current->journal_info = NULL; + + put_transaction(cur_trans); return 0; }