svn commit: r328729 - stable/11/sbin/nvmecontrol

Alexander Motin mav at FreeBSD.org
Thu Feb 1 19:47:17 UTC 2018


Author: mav
Date: Thu Feb  1 19:47:16 2018
New Revision: 328729
URL: https://svnweb.freebsd.org/changeset/base/328729

Log:
  MFC r320425 (by imp):
  Report some aspects of namespaces and namespace support in identify
  command.

Modified:
  stable/11/sbin/nvmecontrol/identify.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sbin/nvmecontrol/identify.c
==============================================================================
--- stable/11/sbin/nvmecontrol/identify.c	Thu Feb  1 19:46:41 2018	(r328728)
+++ stable/11/sbin/nvmecontrol/identify.c	Thu Feb  1 19:47:16 2018	(r328729)
@@ -44,6 +44,7 @@ static void
 print_controller(struct nvme_controller_data *cdata)
 {
 	uint8_t str[128];
+	char cbuf[UINT128_DIG + 1];
 
 	printf("Controller Capabilities/Features\n");
 	printf("================================\n");
@@ -65,8 +66,8 @@ print_controller(struct nvme_controller_data *cdata)
 		printf("Unlimited\n");
 	else
 		printf("%d\n", PAGE_SIZE * (1 << cdata->mdts));
-	printf("\n");
 
+	printf("\n");
 	printf("Admin Command Set Attributes\n");
 	printf("============================\n");
 	printf("Security Send/Receive:       %s\n",
@@ -75,6 +76,8 @@ print_controller(struct nvme_controller_data *cdata)
 		cdata->oacs.format ? "Supported" : "Not Supported");
 	printf("Firmware Activate/Download:  %s\n",
 		cdata->oacs.firmware ? "Supported" : "Not Supported");
+	printf("Namespace Managment:         %s\n",
+		   cdata->oacs.nsmgmt ? "Supported" : "Not Supported");
 	printf("Abort Command Limit:         %d\n", cdata->acl+1);
 	printf("Async Event Request Limit:   %d\n", cdata->aerl+1);
 	printf("Number of Firmware Slots:    ");
@@ -91,8 +94,8 @@ print_controller(struct nvme_controller_data *cdata)
 		cdata->lpa.ns_smart ? "Yes" : "No");
 	printf("Error Log Page Entries:      %d\n", cdata->elpe+1);
 	printf("Number of Power States:      %d\n", cdata->npss+1);
-	printf("\n");
 
+	printf("\n");
 	printf("NVM Command Set Attributes\n");
 	printf("==========================\n");
 	printf("Submission Queue Entry Size\n");
@@ -110,6 +113,16 @@ print_controller(struct nvme_controller_data *cdata)
 		cdata->oncs.dsm ? "Supported" : "Not Supported");
 	printf("Volatile Write Cache:        %s\n",
 		cdata->vwc.present ? "Present" : "Not Present");
+
+	if (cdata->oacs.nsmgmt) {
+		printf("\n");
+		printf("Namespace Drive Attributes\n");
+		printf("==========================\n");
+		printf("NVM total cap:               %s\n",
+			   uint128_to_str(to128(cdata->untncap.tnvmcap), cbuf, sizeof(cbuf)));
+		printf("NVM unallocated cap:         %s\n",
+			   uint128_to_str(to128(cdata->untncap.unvmcap), cbuf, sizeof(cbuf)));
+	}
 }
 
 static void


More information about the svn-src-all mailing list