diff options
author | Mark Brown <broonie@kernel.org> | 2015-08-27 20:30:46 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-08-27 20:30:46 +0100 |
commit | 2002e90412df17ef7f714be62ed96a3c80b2f907 (patch) | |
tree | 3dd03684f7436320ec64f9c702b5d057a25dca17 /fs/ext4/mballoc.c | |
parent | 02a9547e9b3f10d73fde66f52fc8b2a375a300cd (diff) | |
parent | 3b7ce99748f0d006f9d1aa85709872e7b46787f7 (diff) |
Merge branch 'topic/ics43432' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-gtm601
Diffstat (limited to 'fs/ext4/mballoc.c')
-rw-r--r-- | fs/ext4/mballoc.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index f6aedf88da43..34b610ea5030 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -4816,18 +4816,12 @@ do_more: /* * blocks being freed are metadata. these blocks shouldn't * be used until this transaction is committed + * + * We use __GFP_NOFAIL because ext4_free_blocks() is not allowed + * to fail. */ - retry: - new_entry = kmem_cache_alloc(ext4_free_data_cachep, GFP_NOFS); - if (!new_entry) { - /* - * We use a retry loop because - * ext4_free_blocks() is not allowed to fail. - */ - cond_resched(); - congestion_wait(BLK_RW_ASYNC, HZ/50); - goto retry; - } + new_entry = kmem_cache_alloc(ext4_free_data_cachep, + GFP_NOFS|__GFP_NOFAIL); new_entry->efd_start_cluster = bit; new_entry->efd_group = block_group; new_entry->efd_count = count_clusters; |