From 3d09ea69ad6e13851200eed61cf3eb94f4cd34b0 Mon Sep 17 00:00:00 2001 From: Zheng Liu Date: Tue, 28 May 2013 07:27:11 -0400 Subject: [PATCH] --- yaml --- r: 377574 b: refs/heads/master c: 5d9cf9c6254ddc551fb51072f59dfae60e579736 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/jbd2/journal.c | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 047fdb2ecd5b..f5a01cc7b3a0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d23142c6271c499d913d0d5e668b5a4eb6dafcb0 +refs/heads/master: 5d9cf9c6254ddc551fb51072f59dfae60e579736 diff --git a/trunk/fs/jbd2/journal.c b/trunk/fs/jbd2/journal.c index 95457576e434..3cdd285df204 100644 --- a/trunk/fs/jbd2/journal.c +++ b/trunk/fs/jbd2/journal.c @@ -2325,13 +2325,13 @@ static struct journal_head *journal_alloc_journal_head(void) #ifdef CONFIG_JBD2_DEBUG atomic_inc(&nr_journal_heads); #endif - ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS); + ret = kmem_cache_zalloc(jbd2_journal_head_cache, GFP_NOFS); if (!ret) { jbd_debug(1, "out of memory for journal_head\n"); pr_notice_ratelimited("ENOMEM in %s, retrying.\n", __func__); while (!ret) { yield(); - ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS); + ret = kmem_cache_zalloc(jbd2_journal_head_cache, GFP_NOFS); } } return ret; @@ -2393,10 +2393,8 @@ struct journal_head *jbd2_journal_add_journal_head(struct buffer_head *bh) struct journal_head *new_jh = NULL; repeat: - if (!buffer_jbd(bh)) { + if (!buffer_jbd(bh)) new_jh = journal_alloc_journal_head(); - memset(new_jh, 0, sizeof(*new_jh)); - } jbd_lock_bh_journal_head(bh); if (buffer_jbd(bh)) {