From ce13ccf8b0477f152af61321b73a643212b4ad31 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Fri, 4 Mar 2016 15:44:52 -0700 Subject: [PATCH] nvme_manage: check NS management support earlier Don't keep prompting the user for input if the controller doesn't support the NS management command. Change-Id: I5bf001657ca1cbbdbf33cafff2509ade2d47bd9d Signed-off-by: Daniel Verkamp --- examples/nvme/nvme_manage/nvme_manage.c | 33 ++++++++++++++----------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/examples/nvme/nvme_manage/nvme_manage.c b/examples/nvme/nvme_manage/nvme_manage.c index 8a2799311..9d2f5040c 100644 --- a/examples/nvme/nvme_manage/nvme_manage.c +++ b/examples/nvme/nvme_manage/nvme_manage.c @@ -291,6 +291,11 @@ attach_and_detach_ns(int attachment_op) return; } + if (!ctrlr->cdata->oacs.ns_manage) { + printf("Controller does not support ns management\n"); + return; + } + printf("Please Input Namespace ID: \n"); if (!scanf("%d", &ns_id)) { printf("Invalid Namespace ID\n"); @@ -298,11 +303,7 @@ attach_and_detach_ns(int attachment_op) return; } - if (ctrlr->cdata->oacs.ns_manage) { - ns_attach(ctrlr, attachment_op, ctrlr->cdata->cntlid, ns_id); - } else { - printf("Controller does not support ns management\n"); - } + ns_attach(ctrlr, attachment_op, ctrlr->cdata->cntlid, ns_id); } static void @@ -319,6 +320,11 @@ add_ns(void) return; } + if (!ctrlr->cdata->oacs.ns_manage) { + printf("Controller does not support ns management\n"); + return; + } + printf("Please Input Namespace Size (in LBAs): \n"); if (!scanf("%ld", &ns_size)) { printf("Invalid Namespace Size\n"); @@ -340,11 +346,7 @@ add_ns(void) return; } - if (ctrlr->cdata->oacs.ns_manage) { - ns_manage_add(ctrlr, ns_size, ns_capacity, ns_lbasize); - } else { - printf("Controller does not support ns management\n"); - } + ns_manage_add(ctrlr, ns_size, ns_capacity, ns_lbasize); } static void @@ -359,6 +361,11 @@ delete_ns(void) return; } + if (!ctrlr->cdata->oacs.ns_manage) { + printf("Controller does not support ns management\n"); + return; + } + printf("Please Input Namespace ID: \n"); if (!scanf("%d", &ns_id)) { printf("Invalid Namespace ID\n"); @@ -366,11 +373,7 @@ delete_ns(void) return; } - if (ctrlr->cdata->oacs.ns_manage) { - ns_manage_delete(ctrlr, ns_id); - } else { - printf("Controller does not support ns management\n"); - } + ns_manage_delete(ctrlr, ns_id); } int main(int argc, char **argv)