summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorgreen <green@FreeBSD.org>1999-07-20 20:55:50 +0000
committergreen <green@FreeBSD.org>1999-07-20 20:55:50 +0000
commitb8252d249602a96ba07019bf65cb66410782c4f8 (patch)
tree48b1d582e017d93190a45af34779ab26f89367a2 /sys
parentf7a1a90e21d9afd966344011ff47dbe2cac61dde (diff)
downloadFreeBSD-src-b8252d249602a96ba07019bf65cb66410782c4f8.zip
FreeBSD-src-b8252d249602a96ba07019bf65cb66410782c4f8.tar.gz
dev2udev() returns a CDEV udev_t, but we use block io in savecore. Savecore
also gets the device by st_rdev, which is alright except for the fact that the sysctl kern.dumpdev passed out a char device. This is a workaround. Sorry for not committing the fix earlier, before people started having problems.
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_shutdown.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c
index 755f90f..91e13b3 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.54 1999/07/01 22:54:55 peter Exp $
+ * $Id: kern_shutdown.c,v 1.55 1999/07/17 20:47:50 phk Exp $
*/
#include "opt_ddb.h"
@@ -408,7 +408,10 @@ sysctl_kern_dumpdev SYSCTL_HANDLER_ARGS
int error;
udev_t ndumpdev;
- ndumpdev = dev2udev(dumpdev);
+ if (dumpdev != NODEV)
+ ndumpdev = makeudev(devsw(dumpdev)->d_bmaj, minor(dumpdev));
+ else
+ ndumpdev = dev2udev(dumpdev);
error = sysctl_handle_opaque(oidp, &ndumpdev, sizeof ndumpdev, req);
if (error == 0 && req->newptr != NULL)
error = setdumpdev(udev2dev(ndumpdev, 1));
OpenPOWER on IntegriCloud