From feb716e9c3568a45b8815bf2c59e417d30635f89 Mon Sep 17 00:00:00 2001 From: Neil Brown Date: Tue, 28 Oct 2003 23:20:01 +0000 Subject: mdadm-1.4.0 --- Detail.c | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'Detail.c') diff --git a/Detail.c b/Detail.c index 9b04efd..d508988 100644 --- a/Detail.c +++ b/Detail.c @@ -31,7 +31,7 @@ #include "md_p.h" #include "md_u.h" -int Detail(char *dev, int brief) +int Detail(char *dev, int brief, int test) { /* * Print out details for an md array by using @@ -45,27 +45,29 @@ int Detail(char *dev, int brief) time_t atime; char *c; char *devices = NULL; + int spares = 0; mdp_super_t super; int have_super = 0; + int rv = test ? 4 : 1; if (fd < 0) { fprintf(stderr, Name ": cannot open %s: %s\n", dev, strerror(errno)); - return 1; + return rv; } vers = md_get_version(fd); if (vers < 0) { fprintf(stderr, Name ": %s does not appear to be an md device\n", dev); close(fd); - return 1; + return rv; } if (vers < 9000) { fprintf(stderr, Name ": cannot get detail for md device %s: driver version too old.\n", dev); close(fd); - return 1; + return rv; } if (ioctl(fd, GET_ARRAY_INFO, &array)<0) { if (errno == ENODEV) @@ -75,8 +77,9 @@ int Detail(char *dev, int brief) fprintf(stderr, Name ": cannot get array detail for %s: %s\n", dev, strerror(errno)); close(fd); - return 1; + return rv; } + rv = 0; /* Ok, we have some info to print... */ c = map_num(pers, array.level); if (brief) @@ -162,7 +165,12 @@ int Detail(char *dev, int brief) if (disk.state & (1<