]> git.karo-electronics.de Git - linux-beck.git/blobdiff - fs/btrfs/transaction.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
[linux-beck.git] / fs / btrfs / transaction.c
index 2869b3361eb6be3cf82e60ba58ce1d9191360c46..01b143605ec1b98946e7f8fd5e12a8d54cf1cbe1 100644 (file)
@@ -687,7 +687,13 @@ static noinline int wait_transaction_pre_flush(struct btrfs_fs_info *info)
                prepare_to_wait(&info->transaction_wait, &wait,
                                TASK_UNINTERRUPTIBLE);
                mutex_unlock(&info->trans_mutex);
+
+               atomic_dec(&info->throttles);
+               wake_up(&info->transaction_throttle);
+
                schedule();
+
+               atomic_inc(&info->throttles);
                mutex_lock(&info->trans_mutex);
                finish_wait(&info->transaction_wait, &wait);
        }