nvme_manage: show supported block sizes for format

Change-Id: I4da94631d9543c6e50b3cd4f8935845a1237ccab
Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
Daniel Verkamp 2016-03-17 13:51:29 -07:00
parent db3fda2e68
commit 6a3735e393

View File

@ -469,14 +469,17 @@ delete_ns(void)
static void static void
format_nvm(void) format_nvm(void)
{ {
int i;
int ns_id; int ns_id;
int ses; int ses;
int pil; int pil;
int pi; int pi;
int ms; int ms;
int lbaf; int lbaf;
char option; char option;
struct dev *ctrlr; struct dev *ctrlr;
struct spdk_nvme_ns *ns;
const struct spdk_nvme_ns_data *nsdata;
ctrlr = get_controller(); ctrlr = get_controller();
if (ctrlr == NULL) { if (ctrlr == NULL) {
@ -490,6 +493,7 @@ format_nvm(void)
if (ctrlr->cdata->fna.format_all_ns) { if (ctrlr->cdata->fna.format_all_ns) {
ns_id = 0xffffffff; ns_id = 0xffffffff;
ns = spdk_nvme_ctrlr_get_ns(ctrlr->ctrlr, 1);
} else { } else {
printf("Please Input Namespace ID (1 - %d): \n", ctrlr->cdata->nn); printf("Please Input Namespace ID (1 - %d): \n", ctrlr->cdata->nn);
if (!scanf("%d", &ns_id)) { if (!scanf("%d", &ns_id)) {
@ -497,8 +501,17 @@ format_nvm(void)
while (getchar() != '\n'); while (getchar() != '\n');
return; return;
} }
ns = spdk_nvme_ctrlr_get_ns(ctrlr->ctrlr, ns_id);
} }
if (ns == NULL) {
printf("Namespace ID %d not found\n", ns_id);
while (getchar() != '\n');
return;
}
nsdata = spdk_nvme_ns_get_data(ns);
printf("Please Input Secure Erase Setting: \n"); printf("Please Input Secure Erase Setting: \n");
printf(" 0: No secure erase operation requested\n"); printf(" 0: No secure erase operation requested\n");
printf(" 1: User data erase\n"); printf(" 1: User data erase\n");
@ -538,7 +551,12 @@ format_nvm(void)
return; return;
} }
printf("Please Input LBA Format Number (0 - 15): \n"); for (i = 0; i <= nsdata->nlbaf; i++) {
printf("LBA Format #%02d: Data Size: %5d Metadata Size: %5d\n",
i, 1 << nsdata->lbaf[i].lbads, nsdata->lbaf[i].ms);
}
printf("Please Input LBA Format Number (0 - %d): \n", nsdata->nlbaf);
if (!scanf("%d", &lbaf)) { if (!scanf("%d", &lbaf)) {
printf("Invalid LBA format size\n"); printf("Invalid LBA format size\n");
while (getchar() != '\n'); while (getchar() != '\n');