aboutsummaryrefslogtreecommitdiff
path: root/src/sg_vpd.c
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2019-12-06 19:21:44 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2019-12-06 19:21:44 +0000
commit4b4f37348b25f04b6f2f898aeebc6f5246e56831 (patch)
treeaf52b1a76e9aa3e80891125a8455218f74b776ca /src/sg_vpd.c
parent207e52594d920e902f839b8e1aeac0e0abc476f5 (diff)
downloadsg3_utils-4b4f37348b25f04b6f2f898aeebc6f5246e56831.tar.gz
changes for zbc2r04, awaiting new mode page number; sgh_dd
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@836 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'src/sg_vpd.c')
-rw-r--r--src/sg_vpd.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/sg_vpd.c b/src/sg_vpd.c
index 3fdcca84..f18d8096 100644
--- a/src/sg_vpd.c
+++ b/src/sg_vpd.c
@@ -40,7 +40,7 @@
*/
-static const char * version_str = "1.55 20190913"; /* spc5r22 + sbc4r17 */
+static const char * version_str = "1.56 20191204"; /* spc5r22 + sbc4r17 */
/* standard VPD pages, in ascending page number order */
#define VPD_SUPPORTED_VPDS 0x0
@@ -2526,7 +2526,7 @@ decode_b5_vpd(uint8_t * b, int len, int do_hex, int pdt)
}
}
-/* VPD_ZBC_DEV_CHARS 0xb6 sbc or zbc */
+/* VPD_ZBC_DEV_CHARS 0xb6 sbc or zbc [zbc2r04] */
static void
decode_zbdc_vpd(uint8_t * b, int len, int do_hex)
{
@@ -2541,7 +2541,24 @@ decode_zbdc_vpd(uint8_t * b, int len, int do_hex)
"short=%d\n", len);
return;
}
- printf(" URSWRZ type: %d\n", !!(b[4] & 0x1));
+ printf(" Zoned block device extension: ");
+ switch ((b[4] >> 4) & 0xf) {
+ case 0:
+ printf("not reported\n");
+ break;
+ case 1:
+ printf("host aware zone block device model\n");
+ break;
+ case 2:
+ printf("Domains and realms zone block device model\n");
+ break;
+ default:
+ printf("Unknown [0x%x]\n", (b[4] >> 4) & 0xf);
+ break;
+ }
+ /* activation aligned on realm boundaries */
+ printf(" AAORB: %d\n", !!(b[4] & 0x2));
+ printf(" URSWRZ: %d\n", !!(b[4] & 0x1));
u = sg_get_unaligned_be32(b + 8);
printf(" Optimal number of open sequential write preferred zones: ");
if (SG_LIB_UNBOUNDED_32BIT == u)