]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
nvme-cli : wdc-plug-in : return on invalid input device.
authorChaitanya Kulkarni <chaitanya.kulkarni@hgst.com>
Tue, 4 Jul 2017 16:56:46 +0000 (09:56 -0700)
committerKeith Busch <keith.busch@intel.com>
Wed, 5 Jul 2017 16:21:06 +0000 (12:21 -0400)
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@hgst.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <keith.busch@intel.com>
wdc-nvme.c

index b0cd771972962af66826e81dc7945abb5e8ed59e..03c86c9ef54be3bb69dde5c9f0833b92475a6d8c 100644 (file)
@@ -400,6 +400,9 @@ static int wdc_cap_diag(int argc, char **argv, struct command *command,
        };
 
        fd = parse_and_open(argc, argv, desc, command_line_options, NULL, 0);
+       if (fd < 0)
+               return fd;
+
        wdc_check_device(fd);
        if (cfg.file != NULL) {
                strncpy(f, cfg.file, PATH_MAX);
@@ -517,6 +520,9 @@ static int wdc_drive_log(int argc, char **argv, struct command *command,
        };
 
        fd = parse_and_open(argc, argv, desc, command_line_options, NULL, 0);
+       if (fd < 0)
+               return fd;
+
        wdc_check_device(fd);
        if (cfg.file != NULL) {
                strncpy(f, cfg.file, PATH_MAX);
@@ -550,6 +556,9 @@ static int wdc_get_crash_dump(int argc, char **argv, struct command *command,
        };
 
        fd = parse_and_open(argc, argv, desc, command_line_options, NULL, 0);
+       if (fd < 0)
+               return fd;
+
        wdc_check_device(fd);
        ret = wdc_crash_dump(fd, cfg.file);
        if (ret != 0) {
@@ -624,6 +633,9 @@ static int wdc_purge(int argc, char **argv,
        admin_cmd.opcode = WDC_NVME_PURGE_CMD_OPCODE;
 
        fd = parse_and_open(argc, argv, desc, command_line_options, NULL, 0);
+       if (fd < 0)
+               return fd;
+
        wdc_check_device(fd);
        ret = nvme_submit_passthru(fd, NVME_IOCTL_ADMIN_CMD, &admin_cmd);
        if (ret > 0) {
@@ -668,6 +680,9 @@ static int wdc_purge_monitor(int argc, char **argv,
        admin_cmd.timeout_ms = WDC_NVME_PURGE_MONITOR_TIMEOUT;
 
        fd = parse_and_open(argc, argv, desc, command_line_options, NULL, 0);
+       if (fd < 0)
+               return fd;
+
        wdc_check_device(fd);
        ret = nvme_submit_passthru(fd, NVME_IOCTL_ADMIN_CMD, &admin_cmd);
        if (ret == 0) {
@@ -854,6 +869,9 @@ static int wdc_smart_log_add(int argc, char **argv, struct command *command,
        };
 
        fd = parse_and_open(argc, argv, desc, command_line_options, NULL, 0);
+       if (fd < 0)
+               return fd;
+
        wdc_check_device(fd);
        fmt = validate_output_format(cfg.output_format);
        if (fmt < 0) {