2007-06-08 04:45:48

by Jose R. Santos

[permalink] [raw]
Subject: [PATCH] JBD2: fix debug config option

When the JBD code was forked to create the new JBD2 code base, the
references to CONFIG_JBD_DEBUG where never changed to
CONFIG_JBD2_DEBUG. This patch fixes that.

Signed-off-by: Jose R. Santos <[email protected]>
---
Index: linux-2.6.22-rc3/fs/jbd2/journal.c
===================================================================
--- linux-2.6.22-rc3.orig/fs/jbd2/journal.c 2007-06-04 11:01:20.828305672 -0500
+++ linux-2.6.22-rc3/fs/jbd2/journal.c 2007-06-07 23:10:58.838650182 -0500
@@ -529,7 +529,7 @@ int jbd2_log_wait_commit(journal_t *jour
{
int err = 0;

-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
spin_lock(&journal->j_state_lock);
if (!tid_geq(journal->j_commit_request, tid)) {
printk(KERN_EMERG
@@ -2011,7 +2011,7 @@ void jbd2_slab_free(void *ptr, size_t s
* Journal_head storage management
*/
static struct kmem_cache *jbd2_journal_head_cache;
-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
static atomic_t nr_journal_heads = ATOMIC_INIT(0);
#endif

@@ -2049,7 +2049,7 @@ static struct journal_head *journal_allo
struct journal_head *ret;
static unsigned long last_warning;

-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
atomic_inc(&nr_journal_heads);
#endif
ret = kmem_cache_alloc(jbd2_journal_head_cache, GFP_NOFS);
@@ -2070,7 +2070,7 @@ static struct journal_head *journal_allo

static void journal_free_journal_head(struct journal_head *jh)
{
-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
atomic_dec(&nr_journal_heads);
memset(jh, JBD_POISON_FREE, sizeof(*jh));
#endif
@@ -2255,12 +2255,12 @@ void jbd2_journal_put_journal_head(struc
/*
* /proc tunables
*/
-#if defined(CONFIG_JBD_DEBUG)
+#if defined(CONFIG_JBD2_DEBUG)
int jbd2_journal_enable_debug;
EXPORT_SYMBOL(jbd2_journal_enable_debug);
#endif

-#if defined(CONFIG_JBD_DEBUG) && defined(CONFIG_PROC_FS)
+#if defined(CONFIG_JBD2_DEBUG) && defined(CONFIG_PROC_FS)

static struct proc_dir_entry *proc_jbd_debug;

@@ -2398,7 +2398,7 @@ static int __init journal_init(void)

static void __exit journal_exit(void)
{
-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
int n = atomic_read(&nr_journal_heads);
if (n)
printk(KERN_EMERG "JBD: leaked %d journal_heads!\n", n);
Index: linux-2.6.22-rc3/fs/jbd2/recovery.c
===================================================================
--- linux-2.6.22-rc3.orig/fs/jbd2/recovery.c 2007-05-25 21:55:14.000000000 -0500
+++ linux-2.6.22-rc3/fs/jbd2/recovery.c 2007-06-07 23:10:58.841983286 -0500
@@ -295,7 +295,7 @@ int jbd2_journal_skip_recovery(journal_t
printk(KERN_ERR "JBD: error %d scanning journal\n", err);
++journal->j_transaction_sequence;
} else {
-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
int dropped = info.end_transaction - be32_to_cpu(sb->s_sequence);
#endif
jbd_debug(0,
Index: linux-2.6.22-rc3/include/linux/ext4_fs.h
===================================================================
--- linux-2.6.22-rc3.orig/include/linux/ext4_fs.h 2007-06-04 11:01:21.688246570 -0500
+++ linux-2.6.22-rc3/include/linux/ext4_fs.h 2007-06-07 23:10:58.841983286 -0500
@@ -245,7 +245,7 @@ struct ext4_new_group_data {
#define EXT4_IOC_GROUP_ADD _IOW('f', 8,struct ext4_new_group_input)
#define EXT4_IOC_GETVERSION_OLD FS_IOC_GETVERSION
#define EXT4_IOC_SETVERSION_OLD FS_IOC_SETVERSION
-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
#define EXT4_IOC_WAIT_FOR_READONLY _IOR('f', 99, long)
#endif
#define EXT4_IOC_GETRSVSZ _IOR('f', 5, long)
@@ -261,7 +261,7 @@ struct ext4_new_group_data {
#define EXT4_IOC32_GETRSVSZ _IOR('f', 5, int)
#define EXT4_IOC32_SETRSVSZ _IOW('f', 6, int)
#define EXT4_IOC32_GROUP_EXTEND _IOW('f', 7, unsigned int)
-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
#define EXT4_IOC32_WAIT_FOR_READONLY _IOR('f', 99, int)
#endif
#define EXT4_IOC32_GETVERSION_OLD FS_IOC32_GETVERSION
Index: linux-2.6.22-rc3/include/linux/ext4_fs_sb.h
===================================================================
--- linux-2.6.22-rc3.orig/include/linux/ext4_fs_sb.h 2007-06-04 11:01:18.411805086 -0500
+++ linux-2.6.22-rc3/include/linux/ext4_fs_sb.h 2007-06-07 23:10:58.841983286 -0500
@@ -76,7 +76,7 @@ struct ext4_sb_info {
struct list_head s_orphan;
unsigned long s_commit_interval;
struct block_device *journal_bdev;
-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
struct timer_list turn_ro_timer; /* For turning read-only (crash simulation) */
wait_queue_head_t ro_wait_queue; /* For people waiting for the fs to go read-only */
#endif
Index: linux-2.6.22-rc3/include/linux/jbd2.h
===================================================================
--- linux-2.6.22-rc3.orig/include/linux/jbd2.h 2007-06-04 11:01:20.778309108 -0500
+++ linux-2.6.22-rc3/include/linux/jbd2.h 2007-06-07 23:10:58.845316391 -0500
@@ -50,11 +50,11 @@
*/
#define JBD_DEFAULT_MAX_COMMIT_AGE 5

-#ifdef CONFIG_JBD_DEBUG
+#ifdef CONFIG_JBD2_DEBUG
/*
* Define JBD_EXPENSIVE_CHECKING to enable more expensive internal
* consistency checks. By default we don't do this unless
- * CONFIG_JBD_DEBUG is on.
+ * CONFIG_JBD2_DEBUG is on.
*/
#define JBD_EXPENSIVE_CHECKING
extern int jbd2_journal_enable_debug;



-JRS


2007-06-13 23:22:48

by Mingming Cao

[permalink] [raw]
Subject: Re: [PATCH] JBD2: fix debug config option

On Thu, 2007-06-07 at 23:45 -0500, Jose R. Santos wrote:
> When the JBD code was forked to create the new JBD2 code base, the
> references to CONFIG_JBD_DEBUG where never changed to
> CONFIG_JBD2_DEBUG. This patch fixes that.
>

We need to fix ext4 to reference CONFIG_JBD2_DEBUG as well. The ext4
patch queue fail to compile with this if CONFIG_JBD_DEBUG is on but
CONFIG_JBD2_DEBUG is off. Can you send a quick fix?

Thanks,
Mingming

2007-06-14 01:02:05

by Mingming Cao

[permalink] [raw]
Subject: Re: [PATCH] JBD2: fix debug config option

On Wed, 2007-06-13 at 16:22 -0700, Mingming Cao wrote:
> On Thu, 2007-06-07 at 23:45 -0500, Jose R. Santos wrote:
> > When the JBD code was forked to create the new JBD2 code base, the
> > references to CONFIG_JBD_DEBUG where never changed to
> > CONFIG_JBD2_DEBUG. This patch fixes that.
> >
>
> We need to fix ext4 to reference CONFIG_JBD2_DEBUG as well. The ext4
> patch queue fail to compile with this if CONFIG_JBD_DEBUG is on but
> CONFIG_JBD2_DEBUG is off. Can you send a quick fix?

Never mind, a small fix. I added into ext4 patch queue.

Mingming