Loop around congestion_wait on allocation failure/alloc_journal_list like already fixed in other FS. (Does it need returning -ENOMEM after some retries ?) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> --- fs/reiserfs/journal.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index fd77703..e8c56a9 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c @@ -2487,8 +2487,13 @@ static int journal_read(struct super_block *sb) static struct reiserfs_journal_list *alloc_journal_list(struct super_block *s) { struct reiserfs_journal_list *jl; - jl = kzalloc(sizeof(struct reiserfs_journal_list), - GFP_NOFS | __GFP_NOFAIL); + + do { + jl = kzalloc(sizeof(struct reiserfs_journal_list), GFP_NOFS); + if (unlikely(!jl)) + congestion_wait(BLK_RW_ASYNC, HZ/50); + } while (!jl) + INIT_LIST_HEAD(&jl->j_list); INIT_LIST_HEAD(&jl->j_working_list); INIT_LIST_HEAD(&jl->j_tail_bh_list); -- 1.8.4.5 -- To unsubscribe from this list: send the line "unsubscribe reiserfs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html