From 6edc3f4203ed04aec9dfced9b13d4dfb71476c73 Mon Sep 17 00:00:00 2001 From: Stathis Kamperis Date: Thu, 22 Apr 2010 18:28:10 +0300 Subject: [PATCH] dschedctl: Better error message on unknown policy Discussed-with: alexh@, corecode@ --- usr.sbin/dschedctl/dschedctl.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/usr.sbin/dschedctl/dschedctl.c b/usr.sbin/dschedctl/dschedctl.c index 22e6a73841..145649f0bd 100644 --- a/usr.sbin/dschedctl/dschedctl.c +++ b/usr.sbin/dschedctl/dschedctl.c @@ -121,7 +121,7 @@ main(int argc, char *argv[]) char *disk_name = NULL; char *policy = NULL; int dflag = 0, lflag = 0, pflag = 0, sflag = 0; - int ch, error = 0; + int ch, error = 0, found; while ((ch = getopt(argc, argv, "hlps:v")) != -1) { switch (ch) { @@ -195,6 +195,16 @@ main(int argc, char *argv[]) } if (sflag) { + found = 0; + DSCHED_FOREACH_POLICY(dev_fd, &dioc) { + if (strcmp(policy, dioc.pol_name) == 0) { + found = 1; + break; + } + } + if (!found) + errx(1, "Policy '%s' not available", policy); + if (dflag) { error = dsched_set_disk_policy(disk_name, policy); } else { -- 2.41.0