aboutsummaryrefslogtreecommitdiffstats
path: root/Detail.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2008-09-18 16:11:40 +1000
committerNeilBrown <neilb@suse.de>2008-09-18 16:11:40 +1000
commitff54de6e47163944185f231700e72d3122b58f4c (patch)
tree6d9f2763f38f976811adc9c66d44d1fbe7df03b9 /Detail.c
parentd7288ddc3a06a0912f5f0a3f23ccca76a66ff332 (diff)
downloadmdadm-ff54de6e47163944185f231700e72d3122b58f4c.tar.gz
Report uuid in --detail --brief for ddf and intel
The uuid is slightly fictitious but needed for array matching.
Diffstat (limited to 'Detail.c')
-rw-r--r--Detail.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/Detail.c b/Detail.c
index dfe10c2c..ae00bb49 100644
--- a/Detail.c
+++ b/Detail.c
@@ -128,7 +128,8 @@ int Detail(char *dev, int brief, int export, int test, char *homehost)
continue;
if ((dv=map_dev(disk.major, disk.minor, 1))) {
if ((!st || !st->sb) &&
- (disk.state & (1<<MD_DISK_ACTIVE))) {
+ (array.raid_disks == 0 ||
+ (disk.state & (1<<MD_DISK_ACTIVE)))) {
/* try to read the superblock from this device
* to get more info
*/
@@ -136,8 +137,9 @@ int Detail(char *dev, int brief, int export, int test, char *homehost)
if (fd2 >=0 && st &&
st->ss->load_super(st, fd2, NULL) == 0) {
st->ss->getinfo_super(st, &info);
- if (info.array.ctime != array.ctime ||
- info.array.level != array.level)
+ if (array.raid_disks != 0 && /* container */
+ (info.array.ctime != array.ctime ||
+ info.array.level != array.level))
st->ss->free_super(st);
}
if (fd2 >= 0) close(fd2);