diff options
author | Song Liu <songliubraving@fb.com> | 2016-08-11 17:14:13 -0700 |
---|---|---|
committer | Jes Sorensen <Jes.Sorensen@redhat.com> | 2016-08-12 10:58:58 -0400 |
commit | 690e46c32069efd6d8da667f2a23bdb00c233bda (patch) | |
tree | 47146cd891cbebea1a4db736ebbf3eb9367c62b7 /Detail.c | |
parent | ff3c881f84f63d805cfd9bc05772a33a25c8bd6f (diff) | |
download | mdadm-690e46c32069efd6d8da667f2a23bdb00c233bda.tar.gz |
mdadm: put journal device in right place of --detail
When there is failed HDDs, journal device showed in wrong place
of --detail:
Number Major Minor RaidDevice State
4 8 24 - journal /dev/sdb8
1 8 18 1 active sync /dev/sdb2
2 8 19 2 active sync /dev/sdb3
3 8 21 3 active sync /dev/sdb5
0 8 17 - faulty /dev/sdb1
This patch fixed the output as:
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 18 1 active sync /dev/sdb2
2 8 19 2 active sync /dev/sdb3
3 8 21 3 active sync /dev/sdb5
0 8 17 - faulty /dev/sdb1
4 8 24 - journal /dev/sdb8
Reported-by: Yi Zhang <yizhan@redhat.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Diffstat (limited to 'Detail.c')
-rw-r--r-- | Detail.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -323,7 +323,8 @@ int Detail(char *dev, struct context *c) if (disk.major == 0 && disk.minor == 0) continue; if (disk.raid_disk >= 0 && disk.raid_disk < array.raid_disks - && disks[disk.raid_disk*2].state == (1<<MD_DISK_REMOVED)) + && disks[disk.raid_disk*2].state == (1<<MD_DISK_REMOVED) + && ((disk.state & (1<<MD_DISK_JOURNAL)) == 0)) disks[disk.raid_disk*2] = disk; else if (disk.raid_disk >= 0 && disk.raid_disk < array.raid_disks && disks[disk.raid_disk*2+1].state == (1<<MD_DISK_REMOVED) |