From patchwork Thu Nov 11 21:23:18 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: yangsheng X-Patchwork-Id: 71033 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 0A167B712E for ; Sat, 13 Nov 2010 11:51:42 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757675Ab0KMAvk (ORCPT ); Fri, 12 Nov 2010 19:51:40 -0500 Received: from idcmail-mo2no.shaw.ca ([64.59.134.9]:18873 "EHLO idcmail-mo2no.shaw.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757669Ab0KMAvk convert rfc822-to-8bit (ORCPT ); Fri, 12 Nov 2010 19:51:40 -0500 Received: from pd5ml2no-ssvc.prod.shaw.ca ([10.0.153.164]) by pd7mo1no-svcs.prod.shaw.ca with ESMTP; 12 Nov 2010 17:51:39 -0700 X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.1 cv=dyVpuHYQJROgCHwBBw1H+I+7e1rgZIKdHwrI0HSbuo4= c=1 sm=1 a=PRDJcQuWsZQA:10 a=BLceEmwcHowA:10 a=kj9zAlcOel0A:10 a=xqWC_Br6kY4A:10 a=c23vf5CSMVc0QQz9B4a6RA==:17 a=VwQbUJbxAAAA:8 a=s258RED9KOBPgdhZKV0A:9 a=m_in05Kcw-mUShQg1PMA:7 a=BiUFvRueJgOemEIsEM_A589RWrYA:4 a=CjuIK1q_8ugA:10 a=x8gzFH9gYPwA:10 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117 Received: from unknown (HELO [IPv6:::1]) ([68.147.195.121]) by pd5ml2no-dmz.prod.shaw.ca with ESMTP; 12 Nov 2010 17:51:39 -0700 Subject: [PATCH] V2 jbd2_stats_proc_init wrong place. Mime-Version: 1.0 (Apple Message framework v1081) From: yangsheng Date: Fri, 12 Nov 2010 05:23:18 +0800 Cc: yangsheng Message-Id: <1289510598-15315-1-git-send-email-sheng.yang@oracle.com> To: linux-fsdevel@vger.kernel.org X-Mailer: Apple Mail (2.1081) Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org The jbd2_stats_proc_init() was placed on wrong location in jbd2_journal_init_dev(). This may cause /proc/fs/jdb2//* cannot be created when using external journal device. --- fs/jbd2/journal.c | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 13b0a92..a435710 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c @@ -897,9 +897,18 @@ journal_t * jbd2_journal_init_dev(struct block_device *bdev, if (!journal) return NULL; + journal->j_dev = bdev; + journal->j_fs_dev = fs_dev; + journal->j_blk_offset = start; + journal->j_maxlen = len; + bdevname(journal->j_dev, journal->j_devname); + p = journal->j_devname; + while ((p = strchr(p, '/'))) + *p = '!'; + jbd2_stats_proc_init(journal); + /* journal descriptor can store up to n blocks -bzzz */ journal->j_blocksize = blocksize; - jbd2_stats_proc_init(journal); n = journal->j_blocksize / sizeof(journal_block_tag_t); journal->j_wbufsize = n; journal->j_wbuf = kmalloc(n * sizeof(struct buffer_head*), GFP_KERNEL); @@ -908,14 +917,6 @@ journal_t * jbd2_journal_init_dev(struct block_device *bdev, __func__); goto out_err; } - journal->j_dev = bdev; - journal->j_fs_dev = fs_dev; - journal->j_blk_offset = start; - journal->j_maxlen = len; - bdevname(journal->j_dev, journal->j_devname); - p = journal->j_devname; - while ((p = strchr(p, '/'))) - *p = '!'; bh = __getblk(journal->j_dev, start, journal->j_blocksize); if (!bh) {