Page MenuHomeFreeBSD

D31067.diff
No OneTemporary

D31067.diff

diff --git a/sbin/nvmecontrol/identify.c b/sbin/nvmecontrol/identify.c
--- a/sbin/nvmecontrol/identify.c
+++ b/sbin/nvmecontrol/identify.c
@@ -84,7 +84,17 @@
printf("Thin Provisioning: %s\n",
thin_prov ? "Supported" : "Not Supported");
printf("Number of LBA Formats: %d\n", nsdata->nlbaf+1);
- printf("Current LBA Format: LBA Format #%02d\n", flbas_fmt);
+ printf("Current LBA Format: LBA Format #%02d", flbas_fmt);
+ if (nsdata->lbaf[flbas_fmt] >> NVME_NS_DATA_LBAF_MS_SHIFT & NVME_NS_DATA_LBAF_MS_MASK)
+ printf(" %s metadata\n", nsdata->flbas >> NVME_NS_DATA_FLBAS_EXTENDED_SHIFT &
+ NVME_NS_DATA_FLBAS_EXTENDED_MASK ? "Extended" : "Separate");
+ else
+ printf("\n");
+ printf("Metadata Capabilities\n");
+ printf(" Extended: %s\n",
+ nsdata->mc >> NVME_NS_DATA_MC_EXTENDED_SHIFT & NVME_NS_DATA_MC_EXTENDED_MASK ? "Supported" : "Not Supported");
+ printf(" Separate: %s\n",
+ nsdata->mc >> NVME_NS_DATA_MC_POINTER_SHIFT & NVME_NS_DATA_MC_POINTER_MASK ? "Supported" : "Not Supported");
printf("Data Protection Caps: %s%s%s%s%s%s\n",
(nsdata->dpc == 0) ? "Not Supported" : "",
((nsdata->dpc >> NVME_NS_DATA_DPC_MD_END_SHIFT) &
diff --git a/sbin/nvmecontrol/identify_ext.c b/sbin/nvmecontrol/identify_ext.c
--- a/sbin/nvmecontrol/identify_ext.c
+++ b/sbin/nvmecontrol/identify_ext.c
@@ -124,6 +124,38 @@
printf("Unlimited\n");
else
printf("%ld bytes\n", PAGE_SIZE * (1L << cdata->mdts));
+ printf("Sanitize Crypto Erase: %s\n",
+ ((cdata->sanicap >> NVME_CTRLR_DATA_SANICAP_CES_SHIFT) &
+ NVME_CTRLR_DATA_SANICAP_CES_MASK) ?
+ "Supported" : "Not Supported");
+ printf("Sanitize Block Erase: %s\n",
+ ((cdata->sanicap >> NVME_CTRLR_DATA_SANICAP_BES_SHIFT) &
+ NVME_CTRLR_DATA_SANICAP_BES_MASK) ?
+ "Supported" : "Not Supported");
+ printf("Sanitize Overwrite: %s\n",
+ ((cdata->sanicap >> NVME_CTRLR_DATA_SANICAP_OWS_SHIFT) &
+ NVME_CTRLR_DATA_SANICAP_OWS_MASK) ?
+ "Supported" : "Not Supported");
+ printf("Sanitize NDI: %s\n",
+ ((cdata->sanicap >> NVME_CTRLR_DATA_SANICAP_NDI_SHIFT) &
+ NVME_CTRLR_DATA_SANICAP_NDI_MASK) ?
+ "Supported" : "Not Supported");
+ printf("Sanitize NODMMAS: ");
+ switch (((cdata->sanicap >> NVME_CTRLR_DATA_SANICAP_NODMMAS_SHIFT) &
+ NVME_CTRLR_DATA_SANICAP_NODMMAS_MASK)) {
+ case NVME_CTRLR_DATA_SANICAP_NODMMAS_UNDEF:
+ printf("Undefined\n");
+ break;
+ case NVME_CTRLR_DATA_SANICAP_NODMMAS_NO:
+ printf("No\n");
+ break;
+ case NVME_CTRLR_DATA_SANICAP_NODMMAS_YES:
+ printf("Yes\n");
+ break;
+ default:
+ printf("Unknown\n");
+ break;
+ }
printf("Controller ID: 0x%04x\n", cdata->ctrlr_id);
printf("Version: %d.%d.%d\n",
(cdata->ver >> 16) & 0xffff, (cdata->ver >> 8) & 0xff,

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 4, 5:48 PM (15 h, 41 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16458239
Default Alt Text
D31067.diff (2 KB)

Event Timeline