aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2013-10-31 15:37:15 -0400
committerJan Kara <jack@suse.cz>2013-10-31 15:37:15 -0400
commit1ce0aa802c4cbe6dfe2c7fa95c839d75a509c9a5 (patch)
tree9206fb8d2dc95f9f826c4a169a90292cbca875cb
parent444996027e80f96c9948d8d5b8f067a8aff9861d (diff)
jbd: Revert "jbd: remove dependency on __GFP_NOFAIL"
This reverts commit 05713082ab7690a2b22b044cfc867f346c39cd2d. The idea to remove __GFP_NOFAIL was opposed by Andrew Morton. Although mm guys do want to get rid of __GFP_NOFAIL users, opencoding the allocation retry is even worse. See emails following http://www.gossamer-threads.com/lists/linux/kernel/1809153#1809153 Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r--fs/jbd/transaction.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c
index be0c39b66fe0..aa603e017d22 100644
--- a/fs/jbd/transaction.c
+++ b/fs/jbd/transaction.c
@@ -26,7 +26,6 @@
26#include <linux/mm.h> 26#include <linux/mm.h>
27#include <linux/highmem.h> 27#include <linux/highmem.h>
28#include <linux/hrtimer.h> 28#include <linux/hrtimer.h>
29#include <linux/backing-dev.h>
30 29
31static void __journal_temp_unlink_buffer(struct journal_head *jh); 30static void __journal_temp_unlink_buffer(struct journal_head *jh);
32 31
@@ -100,10 +99,11 @@ static int start_this_handle(journal_t *journal, handle_t *handle)
100 99
101alloc_transaction: 100alloc_transaction:
102 if (!journal->j_running_transaction) { 101 if (!journal->j_running_transaction) {
103 new_transaction = kzalloc(sizeof(*new_transaction), GFP_NOFS); 102 new_transaction = kzalloc(sizeof(*new_transaction),
103 GFP_NOFS|__GFP_NOFAIL);
104 if (!new_transaction) { 104 if (!new_transaction) {
105 congestion_wait(BLK_RW_ASYNC, HZ/50); 105 ret = -ENOMEM;
106 goto alloc_transaction; 106 goto out;
107 } 107 }
108 } 108 }
109 109