summaryrefslogtreecommitdiffstats
path: root/sbin/dumpon
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2006-04-27 19:01:54 +0000
committerps <ps@FreeBSD.org>2006-04-27 19:01:54 +0000
commite5dcb864130a51a5ddd8563c372f89b010ad95d7 (patch)
tree306ba28f47a613c877c28d48a0a628e47ade3584 /sbin/dumpon
parente8b8868e9be82cb6d38e63e15f04cff6e73ddb68 (diff)
downloadFreeBSD-src-e5dcb864130a51a5ddd8563c372f89b010ad95d7.zip
FreeBSD-src-e5dcb864130a51a5ddd8563c372f89b010ad95d7.tar.gz
With minidumps, the dumping partition could be smaller than physical
memory, so checking the size of the partition is not necessary. Tested by: kris
Diffstat (limited to 'sbin/dumpon')
-rw-r--r--sbin/dumpon/dumpon.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sbin/dumpon/dumpon.c b/sbin/dumpon/dumpon.c
index df6f88a..9bb5c7e 100644
--- a/sbin/dumpon/dumpon.c
+++ b/sbin/dumpon/dumpon.c
@@ -72,9 +72,16 @@ check_size(int fd, const char *fn)
int name[] = { CTL_HW, HW_PHYSMEM };
size_t namelen = sizeof name / sizeof *name;
unsigned long physmem;
- size_t len = sizeof physmem;
+ size_t len;
off_t mediasize;
+ int minidump;
+
+ len = sizeof minidump;
+ if (sysctlbyname("debug.minidump", &minidump, &len, NULL, 0) == 0 &&
+ minidump == 1)
+ return;
+ len = sizeof physmem;
if (sysctl(name, namelen, &physmem, &len, NULL, 0) != 0)
err(EX_OSERR, "can't get memory size");
if (ioctl(fd, DIOCGMEDIASIZE, &mediasize) != 0)
OpenPOWER on IntegriCloud