summaryrefslogtreecommitdiff
path: root/sbin/bioctl/bioctl.c
diff options
context:
space:
mode:
authorHenning Brauer <henning@cvs.openbsd.org>2007-09-08 07:21:30 +0000
committerHenning Brauer <henning@cvs.openbsd.org>2007-09-08 07:21:30 +0000
commit0cca749a97d9002975c28cf91fd9aacef970cc5a (patch)
treecb6c09c0614309375398cf41e5d4c1d883637901 /sbin/bioctl/bioctl.c
parentb11bf39bdb0611f2aed355f0df2a75838f9d2cde (diff)
make bioctl behave like a unix program and exit 1 on error
ok deraadt, silence dlg marco
Diffstat (limited to 'sbin/bioctl/bioctl.c')
-rw-r--r--sbin/bioctl/bioctl.c64
1 files changed, 22 insertions, 42 deletions
diff --git a/sbin/bioctl/bioctl.c b/sbin/bioctl/bioctl.c
index 0f545e5f2d0..a57451961d5 100644
--- a/sbin/bioctl/bioctl.c
+++ b/sbin/bioctl/bioctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bioctl.c,v 1.60 2007/07/11 07:40:11 jmc Exp $ */
+/* $OpenBSD: bioctl.c,v 1.61 2007/09/08 07:21:29 henning Exp $ */
/*
* Copyright (c) 2004, 2005 Marco Peereboom
@@ -264,7 +264,7 @@ bio_inq(char *name)
if (errno == ENOTTY)
bio_diskinq(name);
else
- warn("BIOCINQ");
+ err(1, "BIOCINQ");
return;
}
@@ -277,10 +277,8 @@ bio_inq(char *name)
bv.bv_seconds = 0;
rv = ioctl(devh, BIOCVOL, &bv);
- if (rv == -1) {
- warn("BIOCVOL");
- return;
- }
+ if (rv == -1)
+ err(1, "BIOCVOL");
if (name && strcmp(name, bv.bv_dev) != 0)
continue;
@@ -350,10 +348,8 @@ bio_inq(char *name)
bd.bd_volid = i;
rv = ioctl(devh, BIOCDISK, &bd);
- if (rv == -1) {
- warn("BIOCDISK");
- return;
- }
+ if (rv == -1)
+ err(1, "BIOCDISK");
switch (bd.bd_status) {
case BIOC_SDONLINE:
@@ -447,15 +443,12 @@ bio_alarm(char *arg)
break;
default:
- warnx("invalid alarm function: %s", arg);
- return;
+ errx(1, "invalid alarm function: %s", arg);
}
rv = ioctl(devh, BIOCALARM, &ba);
- if (rv == -1) {
- warn("BIOCALARM");
- return;
- }
+ if (rv == -1)
+ err(1, "BIOCALARM");
if (arg[0] == 'g') {
printf("alarm is currently %s\n",
@@ -483,10 +476,8 @@ bio_setstate(char *arg)
bs.bs_lun = location.lun;
rv = ioctl(devh, BIOCSETSTATE, &bs);
- if (rv == -1) {
- warn("BIOCSETSTATE");
- return;
- }
+ if (rv == -1)
+ err(1, "BIOCSETSTATE");
}
void
@@ -519,20 +510,16 @@ bio_setblink(char *name, char *arg, int blink)
memset(&bi, 0, sizeof(bi));
bi.bi_cookie = bl.bl_cookie;
rv = ioctl(devh, BIOCINQ, &bi);
- if (rv == -1) {
- warn("BIOCINQ");
- return;
- }
+ if (rv == -1)
+ err(1, "BIOCINQ");
for (v = 0; v < bi.bi_novol; v++) {
memset(&bv, 0, sizeof(bv));
bv.bv_cookie = bl.bl_cookie;
bv.bv_volid = v;
rv = ioctl(devh, BIOCVOL, &bv);
- if (rv == -1) {
- warn("BIOCVOL");
- return;
- }
+ if (rv == -1)
+ err(1, "BIOCVOL");
if (name && strcmp(name, bv.bv_dev) != 0)
continue;
@@ -544,10 +531,8 @@ bio_setblink(char *name, char *arg, int blink)
bd.bd_diskid = d;
rv = ioctl(devh, BIOCDISK, &bd);
- if (rv == -1) {
- warn("BIOCDISK");
- return;
- }
+ if (rv == -1)
+ err(1, "BIOCDISK");
if (bd.bd_channel == location.channel &&
bd.bd_target == location.target &&
@@ -590,7 +575,7 @@ bio_blink(char *enclosure, int target, int blinktype)
rv = ioctl(bioh, BIOCBLINK, &blink);
if (rv == -1)
- warn("BIOCBLINK");
+ err(1, "BIOCBLINK");
close(bioh);
}
@@ -635,12 +620,9 @@ bio_createraid(u_int16_t level, char *dev_list)
create.bc_flags = BIOC_SCDEVT | cflags;
rv = ioctl(devh, BIOCCREATERAID, &create);
- if (rv == -1) {
- warn("BIOCCREATERAID");
- goto done;
- }
+ if (rv == -1)
+ err(1, "BIOCCREATERAID");
-done:
free(dt);
}
@@ -742,10 +724,8 @@ bio_diskinq(char *sd_dev)
{
struct dk_inquiry di;
- if (ioctl(devh, DIOCINQ, &di) == -1) {
- warn("DIOCINQ");
- return;
- }
+ if (ioctl(devh, DIOCINQ, &di) == -1)
+ err(1, "DIOCINQ");
printf("%s: <%s, %s, %s>, serial %s\n", sd_dev, bio_vis(di.vendor),
bio_vis(di.product), bio_vis(di.revision), bio_vis(di.serial));