MD: fix info output for journal disk
authorShaohua Li <shli@fb.com>
Mon, 12 Oct 2015 23:59:50 +0000 (16:59 -0700)
committerNeilBrown <neilb@suse.com>
Sun, 1 Nov 2015 02:48:29 +0000 (13:48 +1100)
journal disk can be faulty. The Journal and Faulty aren't exclusive with
each other.

Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: NeilBrown <neilb@suse.com>
drivers/md/md.c

index 5744829..e4e2731 100644 (file)
@@ -5874,7 +5874,8 @@ static int get_disk_info(struct mddev *mddev, void __user * arg)
                else if (test_bit(In_sync, &rdev->flags)) {
                        info.state |= (1<<MD_DISK_ACTIVE);
                        info.state |= (1<<MD_DISK_SYNC);
-               } else if (test_bit(Journal, &rdev->flags))
+               }
+               if (test_bit(Journal, &rdev->flags))
                        info.state |= (1<<MD_DISK_JOURNAL);
                if (test_bit(WriteMostly, &rdev->flags))
                        info.state |= (1<<MD_DISK_WRITEMOSTLY);
@@ -7363,14 +7364,12 @@ static int md_seq_show(struct seq_file *seq, void *v)
                                bdevname(rdev->bdev,b), rdev->desc_nr);
                        if (test_bit(WriteMostly, &rdev->flags))
                                seq_printf(seq, "(W)");
+                       if (test_bit(Journal, &rdev->flags))
+                               seq_printf(seq, "(J)");
                        if (test_bit(Faulty, &rdev->flags)) {
                                seq_printf(seq, "(F)");
                                continue;
                        }
-                       if (test_bit(Journal, &rdev->flags)) {
-                               seq_printf(seq, "(J)");
-                               continue;
-                       }
                        if (rdev->raid_disk < 0)
                                seq_printf(seq, "(S)"); /* spare */
                        if (test_bit(Replacement, &rdev->flags))