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
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to