"Adam J. Richter" wrote:
> 
>         Andrwe Morton posted a fix for the compilation error in
> linux-2.5.2-pre8/fs/ext3/super.c.  I have changed his test to
> use "!kdev_none()" instead of "!kdev_val()".  It will compile
> to the same opcodes, but I think this way is slightly more proper.
> It may even make a difference some day if the internal representation
> of kdev_val or kdev_none changes in a weird way so that
> kdev_val(NODEV) returns non-zero, although I think this is unlikely.
> 
Thanks, Adam.  The patch did not please the kdev_t purists :)
Current preferred version:
--- linux-2.5.2-pre7/fs/ext3/super.c	Fri Jan  4 18:48:43 2002
+++ 25/fs/ext3/super.c	Sat Jan  5 00:40:24 2002
@@ -47,19 +47,19 @@ static void ext3_clear_journal_err(struc
 				   struct ext3_super_block * es);
 
 #ifdef CONFIG_JBD_DEBUG
-int journal_no_write[2];
+kdev_t journal_no_write[2];
 
 /*
  * Debug code for turning filesystems "read-only" after a specified
  * amount of time.  This is for crash/recovery testing.
  */
 
-static void make_rdonly(kdev_t dev, int *no_write)
+static void make_rdonly(kdev_t dev, kdev_t *no_write)
 {
-	if (dev) {
+	if (!kdev_none(dev)) {
 		printk(KERN_WARNING "Turning device %s read-only\n", 
 		       bdevname(dev));
-		*no_write = 0xdead0000 + dev;
+		*no_write = dev;
 	}
 }
 
@@ -80,8 +80,8 @@ static void setup_ro_after(struct super_
 		printk(KERN_DEBUG "fs will go read-only in %d jiffies\n",
 		       ext3_ro_after);
 		init_waitqueue_head(&sbi->ro_wait_queue);
-		journal_no_write[0] = 0;
-		journal_no_write[1] = 0;
+		journal_no_write[0] = NODEV;
+		journal_no_write[1] = NODEV;
 		sbi->turn_ro_timer.function = turn_fs_readonly;
 		sbi->turn_ro_timer.data = (unsigned long)sb;
 		sbi->turn_ro_timer.expires = jiffies + ext3_ro_after;
@@ -93,8 +93,8 @@ static void setup_ro_after(struct super_
 static void clear_ro_after(struct super_block *sb)
 {
 	del_timer_sync(&EXT3_SB(sb)->turn_ro_timer);
-	journal_no_write[0] = 0;
-	journal_no_write[1] = 0;
+	journal_no_write[0] = NODEV;
+	journal_no_write[1] = NODEV;
 	ext3_ro_after = 0;
 }
 #else
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/