summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2017-08-02 14:45:58 +0000
committermav <mav@FreeBSD.org>2017-08-02 14:45:58 +0000
commitd79ca47303baabd8bec733c55664df021cfb73bf (patch)
tree9d92a457f06ceccc764ed84d0d21e430da17c112
parent65bc2dace709bf28ce0007810cf6debd21224139 (diff)
downloadFreeBSD-src-d79ca47303baabd8bec733c55664df021cfb73bf.zip
FreeBSD-src-d79ca47303baabd8bec733c55664df021cfb73bf.tar.gz
MFC r320730: Report device descr in addition to ident.
Serial number without device model is somewhat less useful.
-rw-r--r--usr.sbin/diskinfo/diskinfo.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/usr.sbin/diskinfo/diskinfo.c b/usr.sbin/diskinfo/diskinfo.c
index dd11938..e6ae46f 100644
--- a/usr.sbin/diskinfo/diskinfo.c
+++ b/usr.sbin/diskinfo/diskinfo.c
@@ -34,6 +34,7 @@
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
+#include <string.h>
#include <strings.h>
#include <unistd.h>
#include <errno.h>
@@ -73,6 +74,7 @@ main(int argc, char **argv)
int i, ch, fd, error, exitval = 0;
char buf[BUFSIZ], ident[DISK_IDENT_SIZE], physpath[MAXPATHLEN];
char zone_desc[64];
+ struct diocgattr_arg arg;
off_t mediasize, stripesize, stripeoffset;
u_int sectorsize, fwsectors, fwheads, zoned = 0, isreg;
uint32_t zone_mode;
@@ -230,6 +232,10 @@ main(int argc, char **argv)
printf("\t%-12u\t# Heads according to firmware.\n", fwheads);
printf("\t%-12u\t# Sectors according to firmware.\n", fwsectors);
}
+ strlcpy(arg.name, "GEOM::descr", sizeof(arg.name));
+ arg.len = sizeof(arg.value.str);
+ if (ioctl(fd, DIOCGATTR, &arg) == 0)
+ printf("\t%-12s\t# Disk descr.\n", arg.value.str);
if (ioctl(fd, DIOCGIDENT, ident) == 0)
printf("\t%-12s\t# Disk ident.\n", ident);
if (ioctl(fd, DIOCGPHYSPATH, physpath) == 0)
OpenPOWER on IntegriCloud