diff options
author | alfred <alfred@FreeBSD.org> | 1999-08-11 14:02:20 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 1999-08-11 14:02:20 +0000 |
commit | c40a704ac371220921033271374c72c911e95910 (patch) | |
tree | 90fc6ee925204ce5481676beb26ee4e386065160 /sys/kern/kern_shutdown.c | |
parent | be49f50ba7be1e1be51185bcb3705faef02d77f6 (diff) | |
download | FreeBSD-src-c40a704ac371220921033271374c72c911e95910.zip FreeBSD-src-c40a704ac371220921033271374c72c911e95910.tar.gz |
When doing a dump, if ENODEV is returned explain what happened to the user,
"the device doesn't support a dump routine"
Only print "dump succeeded" when 0 is returned, instead of when an unexpected
error number is returned, print that error number.
Reviewed by: Eivind
Diffstat (limited to 'sys/kern/kern_shutdown.c')
-rw-r--r-- | sys/kern/kern_shutdown.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c index 5b18718..eb16729 100644 --- a/sys/kern/kern_shutdown.c +++ b/sys/kern/kern_shutdown.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)kern_shutdown.c 8.3 (Berkeley) 1/21/94 - * $Id: kern_shutdown.c,v 1.57 1999/07/20 21:29:13 green Exp $ + * $Id: kern_shutdown.c,v 1.58 1999/08/09 10:34:57 phk Exp $ */ #include "opt_ddb.h" @@ -426,6 +426,7 @@ SYSCTL_PROC(_kern, KERN_DUMPDEV, dumpdev, CTLTYPE_OPAQUE|CTLFLAG_RW, static void dumpsys(void) { + int error; if (!dodump) return; @@ -439,7 +440,16 @@ dumpsys(void) printf("\ndumping to dev (%d,%d), offset %ld\n", major(dumpdev), minor(dumpdev), dumplo); printf("dump "); - switch ((*bdevsw(dumpdev)->d_dump)(dumpdev)) { + error = (*bdevsw(dumpdev)->d_dump)(dumpdev); + if (error == 0) { + printf("succeeded\n"); + return; + } + printf("failed, reason: "); + switch (error) { + case ENODEV: + printf("device doesn't support a dump routine\n"); + break; case ENXIO: printf("device bad\n"); @@ -462,7 +472,7 @@ dumpsys(void) break; default: - printf("succeeded\n"); + printf("unknown, error = %d\n", error); break; } } |