diff mbox

V2 jbd2_stats_proc_init wrong place.

Message ID 1289510598-15315-1-git-send-email-sheng.yang@oracle.com
State Superseded, archived
Headers show

Commit Message

yangsheng Nov. 11, 2010, 9:23 p.m. UTC
The jbd2_stats_proc_init() was placed on wrong location in
jbd2_journal_init_dev().  This may cause /proc/fs/jdb2/<dev>/*
cannot be created when using external journal device.
---
fs/jbd2/journal.c |   19 ++++++++++---------
1 files changed, 10 insertions(+), 9 deletions(-)

Comments

Eric Sandeen Nov. 15, 2010, 4:59 p.m. UTC | #1
On 11/11/10 3:23 PM, yangsheng wrote:
>  The jbd2_stats_proc_init() was placed on wrong location in
>  jbd2_journal_init_dev().  This may cause /proc/fs/jdb2/<dev>/*
>  cannot be created when using external journal device.
> ---
>  fs/jbd2/journal.c |   19 ++++++++++---------
>  1 files changed, 10 insertions(+), 9 deletions(-)

adding linux-ext4 to cc:

> 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) {

--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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) {