diff options
author | Neil Brown <neilb@suse.de> | 2006-06-26 04:26:01 +0200 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2006-06-26 04:26:01 +0200 |
commit | c3684618b7cc50a12a651bf2f83f62b24ba95bcd (patch) | |
tree | 5519331310e9a1bb678a6bf3463cb678b41f6fd3 /super1.c | |
parent | Fix manpage typo (diff) | |
download | mdadm-c3684618b7cc50a12a651bf2f83f62b24ba95bcd.tar.xz mdadm-c3684618b7cc50a12a651bf2f83f62b24ba95bcd.zip |
Add 'Array Slot' line to --examine for version-1 superblocks
to make it a bit easier to see what is happening.
Diffstat (limited to 'super1.c')
-rw-r--r-- | super1.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -277,6 +277,18 @@ static void examine_super1(void *sbv, char *homehost) default: break; } printf("\n"); + printf(" Array Slot : %d (", __le32_to_cpu(sb->dev_number)); + for (i= __le32_to_cpu(sb->max_dev); i> 0 ; i--) + if (__le16_to_cpu(sb->dev_roles[i-1]) != 0xffff) + break; + for (d=0; d < i; d++) { + int role = __le16_to_cpu(sb->dev_roles[d]); + if (d) printf(", "); + if (role == 0xffff) printf("empty"); + else if(role == 0xfffe) printf("failed"); + else printf("%d", role); + } + printf(")\n"); printf(" Array State : "); for (d=0; d<__le32_to_cpu(sb->raid_disks); d++) { int cnt = 0; |