From 8f92938fab14f0ce6584ecece99e420aa69e4db7 Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Wed, 28 Oct 2020 17:28:48 +0000 Subject: [PATCH] Use proper variable for device path. It seems *-passthru commands were broken from the day one, since the device path is fetched into opt.dev variable and not left in argv[optind]. The other three wrong argv[optind] instances are just in error messages. MFC after: 1 week Sponsored by: iXsystems, Inc. --- sbin/nvmecontrol/ns.c | 4 ++-- sbin/nvmecontrol/passthru.c | 2 +- sbin/nvmecontrol/reset.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sbin/nvmecontrol/ns.c b/sbin/nvmecontrol/ns.c index 10424a6063c..0e8589fdc14 100644 --- a/sbin/nvmecontrol/ns.c +++ b/sbin/nvmecontrol/ns.c @@ -605,7 +605,7 @@ nscreate(const struct cmd *f, int argc, char *argv[]) pt.len = sizeof(struct nvme_namespace_data); pt.is_read = 0; /* passthrough writes data to ctrlr */ if ((result = ioctl(fd, NVME_PASSTHROUGH_CMD, &pt)) < 0) - errx(1, "ioctl request to %s failed: %d", argv[optind], result); + errx(1, "ioctl request to %s failed: %d", create_opt.dev, result); if (nvme_completion_is_error(&pt.cpl)) { errx(1, "namespace creation failed: %s", @@ -822,7 +822,7 @@ nsdetach(const struct cmd *f, int argc, char *argv[]) pt.len = sizeof(clist); if ((result = ioctl(fd, NVME_PASSTHROUGH_CMD, &pt)) < 0) - errx(1, "ioctl request to %s failed: %d", argv[optind], result); + errx(1, "ioctl request to %s failed: %d", detach_opt.dev, result); if (nvme_completion_is_error(&pt.cpl)) { errx(1, "namespace detach failed: %s", diff --git a/sbin/nvmecontrol/passthru.c b/sbin/nvmecontrol/passthru.c index 87ba322ca3c..abdee4ef5f8 100644 --- a/sbin/nvmecontrol/passthru.c +++ b/sbin/nvmecontrol/passthru.c @@ -164,7 +164,7 @@ passthru(const struct cmd *f, int argc, char *argv[]) if (arg_parse(argc, argv, f)) return; - open_dev(argv[optind], &fd, 1, 1); + open_dev(opt.dev, &fd, 1, 1); if (opt.read && opt.write) errx(1, "need exactly one of --read or --write"); diff --git a/sbin/nvmecontrol/reset.c b/sbin/nvmecontrol/reset.c index 1bf45a43c2d..89e64c603b0 100644 --- a/sbin/nvmecontrol/reset.c +++ b/sbin/nvmecontrol/reset.c @@ -70,7 +70,7 @@ reset(const struct cmd *f, int argc, char *argv[]) free(path); if (ioctl(fd, NVME_RESET_CONTROLLER) < 0) - err(1, "reset request to %s failed", argv[optind]); + err(1, "reset request to %s failed", opt.dev); exit(0); }