aboutsummaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2012-05-24 11:07:39 +0000
committerAlexander Motin <mav@FreeBSD.org>2012-05-24 11:07:39 +0000
commit3089bb2e845499b7d8140cdba973626959fc88f3 (patch)
tree9d658f698668bc65cfb606b38c8cae7948e0b2fd /sbin
parent76dcec5d095f30cddfb7b2b51f2b74686216f064 (diff)
downloadsrc-3089bb2e845499b7d8140cdba973626959fc88f3.tar.gz
src-3089bb2e845499b7d8140cdba973626959fc88f3.zip
MFprojects/zfsd:
- Add low-level support for SATA Enclosure Management Bridge (SEMB) devices -- SATA equivalents of the SCSI SES/SAF-TE devices. - Add some utility functions for SCSI SAF-TE devices access. Sponsored by: iXsystems, Inc.
Notes
Notes: svn path=/head/; revision=235897
Diffstat (limited to 'sbin')
-rw-r--r--sbin/camcontrol/camcontrol.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/sbin/camcontrol/camcontrol.c b/sbin/camcontrol/camcontrol.c
index 0bbb511ed720..47fc791e5de4 100644
--- a/sbin/camcontrol/camcontrol.c
+++ b/sbin/camcontrol/camcontrol.c
@@ -456,7 +456,7 @@ getdevtree(void)
case DEV_MATCH_DEVICE: {
struct device_match_result *dev_result;
char vendor[16], product[48], revision[16];
- char tmpstr[256];
+ char fw[5], tmpstr[256];
dev_result =
&ccb.cdm.matches[i].result.device_result;
@@ -495,6 +495,25 @@ getdevtree(void)
sizeof(revision));
sprintf(tmpstr, "<%s %s>", product,
revision);
+ } else if (dev_result->protocol == PROTO_SEMB) {
+ struct sep_identify_data *sid;
+
+ sid = (struct sep_identify_data *)
+ &dev_result->ident_data;
+ cam_strvis(vendor, sid->vendor_id,
+ sizeof(sid->vendor_id),
+ sizeof(vendor));
+ cam_strvis(product, sid->product_id,
+ sizeof(sid->product_id),
+ sizeof(product));
+ cam_strvis(revision, sid->product_rev,
+ sizeof(sid->product_rev),
+ sizeof(revision));
+ cam_strvis(fw, sid->firmware_rev,
+ sizeof(sid->firmware_rev),
+ sizeof(fw));
+ sprintf(tmpstr, "<%s %s %s %s>",
+ vendor, product, revision, fw);
} else {
sprintf(tmpstr, "<>");
}