2007-10-25 16:41:42

by Eric Sandeen

[permalink] [raw]
Subject: [PATCH] Fix oops with jbd-stats-through-procfs and external journal

When using an external device for the journal,
jbd2_stats_proc_init() wants to use journal->j_dev in its call
to bdevname() but it's not assigned yet, resulting in an oops.

Signed-off-by: Eric Sandeen <[email protected]>

--- linux.orig/fs/jbd2/journal.c 2007-10-25 11:36:25.772354262 -0500
+++ linux/fs/jbd2/journal.c 2007-10-25 11:36:35.058278242 -0500
@@ -1035,11 +1035,11 @@
journal = NULL;
goto out;
}
- jbd2_stats_proc_init(journal);
journal->j_dev = bdev;
journal->j_fs_dev = fs_dev;
journal->j_blk_offset = start;
journal->j_maxlen = len;
+ jbd2_stats_proc_init(journal);

bh = __getblk(journal->j_dev, start, journal->j_blocksize);
J_ASSERT(bh != NULL);


2007-10-25 19:24:06

by Mingming Cao

[permalink] [raw]
Subject: Re: [PATCH] Fix oops with jbd-stats-through-procfs and external journal

Thanks, Added to ext4 patch queue at
http://repo.or.cz/w/ext4-patch-queue.git

On Thu, 2007-10-25 at 11:39 -0500, Eric Sandeen wrote:
> When using an external device for the journal,
> jbd2_stats_proc_init() wants to use journal->j_dev in its call
> to bdevname() but it's not assigned yet, resulting in an oops.
>
> Signed-off-by: Eric Sandeen <[email protected]>
>
> --- linux.orig/fs/jbd2/journal.c 2007-10-25 11:36:25.772354262 -0500
> +++ linux/fs/jbd2/journal.c 2007-10-25 11:36:35.058278242 -0500
> @@ -1035,11 +1035,11 @@
> journal = NULL;
> goto out;
> }
> - jbd2_stats_proc_init(journal);
> journal->j_dev = bdev;
> journal->j_fs_dev = fs_dev;
> journal->j_blk_offset = start;
> journal->j_maxlen = len;
> + jbd2_stats_proc_init(journal);
>
> bh = __getblk(journal->j_dev, start, journal->j_blocksize);
> J_ASSERT(bh != NULL);
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html