summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_shutdown.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1999-08-29 14:54:11 +0000
committerphk <phk@FreeBSD.org>1999-08-29 14:54:11 +0000
commitcb7382d12c1edfdeba58d07d93d158b531f9d99a (patch)
tree414ca0104bc54824c3c99ebd20248377f72387e8 /sys/kern/kern_shutdown.c
parentfa702b9bb31674fc3473221e2740fdc97f467427 (diff)
downloadFreeBSD-src-cb7382d12c1edfdeba58d07d93d158b531f9d99a.zip
FreeBSD-src-cb7382d12c1edfdeba58d07d93d158b531f9d99a.tar.gz
Remove unneeded "maj" variable.
Give up if we have already started dumping once before. Print name of dumpdev.
Diffstat (limited to 'sys/kern/kern_shutdown.c')
-rw-r--r--sys/kern/kern_shutdown.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c
index 5cd4f85..432ed93 100644
--- a/sys/kern/kern_shutdown.c
+++ b/sys/kern/kern_shutdown.c
@@ -376,14 +376,13 @@ static int
setdumpdev(dev)
dev_t dev;
{
- int maj, psize;
+ int psize;
long newdumplo;
if (dev == NODEV) {
dumpdev = dev;
return (0);
}
- maj = major(dev);
if (devsw(dev) == NULL)
return (ENXIO); /* XXX is this right? */
if (devsw(dev)->d_psize == NULL)
@@ -392,8 +391,7 @@ setdumpdev(dev)
if (psize == -1)
return (ENXIO); /* XXX should be ENODEV ? */
/*
- * XXX should clean up checking in dumpsys() to be more like this,
- * and nuke dodump sysctl (too many knobs).
+ * XXX should clean up checking in dumpsys() to be more like this.
*/
newdumplo = psize - Maxmem * PAGE_SIZE / DEV_BSIZE;
if (newdumplo < 0)
@@ -441,7 +439,12 @@ static void
dumpsys(void)
{
int error;
+ static int dumping;
+ if (dumping++) {
+ printf("Dump already in progress, bailing...\n");
+ return;
+ }
if (!dodump)
return;
if (dumpdev == NODEV)
@@ -451,8 +454,7 @@ dumpsys(void)
if (!(devsw(dumpdev)->d_dump))
return;
dumpsize = Maxmem;
- printf("\ndumping to dev (%d,%d), offset %ld\n",
- major(dumpdev), minor(dumpdev), dumplo);
+ printf("\ndumping to dev %s, offset %ld\n", devtoname(dumpdev), dumplo);
printf("dump ");
error = (*devsw(dumpdev)->d_dump)(dumpdev);
if (error == 0) {
OpenPOWER on IntegriCloud