From: Simon A. F. Lund Date: Tue, 5 Jul 2016 15:29:21 +0000 (+0200) Subject: plugin-lnvm: Fixed argument parsing in lnvm_init. X-Git-Tag: v0.9~27^2~1 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3b6e933f5b0401bb124de9d365d3c775115b666b;p=users%2Fsagi%2Fnvme-cli.git plugin-lnvm: Fixed argument parsing in lnvm_init. The option 'mediamgr-name' had "no_argument" causing parsing failure, changed to "required_argument". Added check that option 'device-name' is provided since it is mandatory. --- diff --git a/lnvm-nvme.c b/lnvm-nvme.c index 85830475..d696b886 100644 --- a/lnvm-nvme.c +++ b/lnvm-nvme.c @@ -38,12 +38,17 @@ static int lnvm_init(int argc, char **argv, struct command *cmd, struct plugin * const struct argconfig_commandline_options command_line_options[] = { {"device-name", 'd', "DEVICE", CFG_STRING, &cfg.devname, required_argument, devname}, - {"mediamgr-name", 'm', "MM", CFG_STRING, &cfg.mmtype, no_argument, mmtype}, + {"mediamgr-name", 'm', "MM", CFG_STRING, &cfg.mmtype, required_argument, mmtype}, {0} }; argconfig_parse(argc, argv, desc, command_line_options, &cfg, sizeof(cfg)); + if (!strlen(cfg.devname)) { + fprintf(stderr, "device name missing %d\n", (int)strlen(cfg.devname)); + return -EINVAL; + } + return lnvm_do_init(cfg.devname, cfg.mmtype); }