diff options
author | Alexander Motin <mav@FreeBSD.org> | 2012-05-24 11:07:39 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2012-05-24 11:07:39 +0000 |
commit | 3089bb2e845499b7d8140cdba973626959fc88f3 (patch) | |
tree | 9d658f698668bc65cfb606b38c8cae7948e0b2fd /sbin | |
parent | 76dcec5d095f30cddfb7b2b51f2b74686216f064 (diff) | |
download | src-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.c | 21 |
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, "<>"); } |