goto out;
        }
        transid = trans->transid;
-       ret = btrfs_commit_transaction_async(trans, 0);
+       ret = btrfs_commit_transaction_async(trans);
        if (ret) {
                btrfs_end_transaction(trans);
                return ret;
 
                   TRANS_ABORTED(trans));
 }
 
-/*
- * wait for the current transaction to start and then become unblocked.
- * caller holds ref.
- */
-static void wait_current_trans_commit_start_and_unblock(
-                                       struct btrfs_fs_info *fs_info,
-                                       struct btrfs_transaction *trans)
-{
-       wait_event(fs_info->transaction_wait,
-                  trans->state >= TRANS_STATE_UNBLOCKED ||
-                  TRANS_ABORTED(trans));
-}
-
 /*
  * commit transactions asynchronously. once btrfs_commit_transaction_async
  * returns, any subsequent transaction will not be allowed to join.
        kfree(ac);
 }
 
-int btrfs_commit_transaction_async(struct btrfs_trans_handle *trans,
-                                  int wait_for_unblock)
+int btrfs_commit_transaction_async(struct btrfs_trans_handle *trans)
 {
        struct btrfs_fs_info *fs_info = trans->fs_info;
        struct btrfs_async_commit *ac;
                __sb_writers_release(fs_info->sb, SB_FREEZE_FS);
 
        schedule_work(&ac->work);
-
-       /* wait for transaction to start and unblock */
-       if (wait_for_unblock)
-               wait_current_trans_commit_start_and_unblock(fs_info, cur_trans);
-       else
-               wait_current_trans_commit_start(fs_info, cur_trans);
-
+       wait_current_trans_commit_start(fs_info, cur_trans);
        if (current->journal_info == trans)
                current->journal_info = NULL;
 
 
 int btrfs_defrag_root(struct btrfs_root *root);
 int btrfs_clean_one_deleted_snapshot(struct btrfs_root *root);
 int btrfs_commit_transaction(struct btrfs_trans_handle *trans);
-int btrfs_commit_transaction_async(struct btrfs_trans_handle *trans,
-                                  int wait_for_unblock);
+int btrfs_commit_transaction_async(struct btrfs_trans_handle *trans);
 int btrfs_end_transaction_throttle(struct btrfs_trans_handle *trans);
 bool btrfs_should_end_transaction(struct btrfs_trans_handle *trans);
 void btrfs_throttle(struct btrfs_fs_info *fs_info);