| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
the stack to the heap to work around a problem on ia64. Now, roughly
16 months and two compiler updates later, it isn't an issue anymore
in the sense that putting a 1M buffer on the stack just works and we
don't actually need to work around anything anymore.
However, since there's no advantage or need to put the buffer on the
stack (again), this change merely removes the XXX comment describing
that there's an explicit reason for the heap allocation. Hence, this
change is a functional no-op.
PR: ia64/38677
|
|
|
|
|
|
|
|
| |
The immediate purpose for this option is to use it in rc.d so that we
can make savecore behavior conditional.
Tremendous assistance with ideas and sanity checking provided by tjr
and b@etek.chalmers.se.
|
|
|
|
| |
especially in troff files.
|
|
|
|
|
|
|
| |
sizeof(buf) lurking around that I missed.
PR: 38811
Submitted by: Adrian Colley <aecolley@spamcop.net>
|
|
|
|
|
| |
the stack in DoFile(). This needs some investigation. In the mean time
we do a one time malloc() for the buffer to have it on the heap instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- reimplement -z
- use syslog()
- improve consistancy of messages
- allow -f to recover cleared dumps
- return bufsize to 1024 * 1024
- return the ability to write sparse files
- update man page
- fix minfree to require 2k for info file instead of the kernel size
- include Berkeley copyright too due to amount of old code copied
Submitted by: Chad David <davidc@acns.ab.ca>
|
|
|
|
|
|
|
|
| |
restores the check_space() function with small modifications
to make it work with the current code. The patch was slightly
modified by Bill Fenner to handle error messages better.
Reviewed by: fenner
|
|
|
|
|
|
| |
In usage(), use fprintf(3) instead of errx(3), to make the printed string really
start with `usage: ...'.
Reviewed by: marcel
|
|
|
|
| |
read the description while the megs shift from one place to another.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o Implement -c (clear) to clear previously kept headers (note that
dumps not cleared will remain until -c is used),
o Implement -f (force) to allow re-saving a previously saved dump,
o Implement -k (keep) and make clearing the dump header the default,
o Implement -v (verbose) and make most output conditional upon it,
o Emit minimal output for the non-verbose case with the assumption
that savecore is run mostly from within /etc/rc,
o Update usage message to reflect what is and what's not,
o mark -d as obsolete.
Low-level changes:
o Rename devname to device, for devname mirrors a global declaration
and GCC 3.x warns about it,
o Open the dump device R/W for clear and !keep to work,
o Reorder the locals of DoFile according to style(9),
o Remove newlines from strings passed to warn* and err*,
o Use stat(2) to check if a dump has been saved before,
o Truncate existing core and info files to support force,
o First check for the magic and the version before we complain about
parity errors. This prevents emitting parity error messages when
there's no dump,
o Keep track of the number of headers found and the number of headers
saved to support the minimal output,
o Close files we opened in DoFile. Not critical, but cleaner.
|
|
|
|
| |
Sponsored by: DARPA & NAI Labs
|
|
|
|
|
|
|
|
|
| |
in dump byte order (=network byte order). Swap blocksize and dumptime
to avoid extraneous padding on 64-bit architectures. Use CTASSERT
instead of runtime checks to make sure the header is 512 bytes large.
Various style(9) fixes.
Reviewed by: phk, bde, mike
|
|
|
|
| |
Pointy-hat to: phk
|
|
|
|
|
|
|
|
|
|
| |
Commandline compatible with the previous savecore unless you specify
any options, none of them are implemented (yet).
Scans all devices marked "dump" or "swap" for dump header signatures
and saves dumps off under a name which is a MD5 hash of the header
information. This should give unique filenames. A *.info file contains
ascii version of the header information.
|
|
|
|
| |
o remove main prototype
|
|
|
|
|
|
| |
It does not help modern compilers, and some may take some hit from it.
(I also found several functions that listed *every* of its 10 local vars with
"register" -- just how many free registers do people think machines have?)
|
| |
|
|
|
|
|
| |
since dumplo is now an off_t. Scratch a couple of other itches as well.
s/L_SET/SEEK_SET/
|
|
|
|
| |
Reported by: mki@mozone.net
|
|
|
|
|
|
|
|
|
|
| |
of dumpmag from an int to a u_long in rev 1.41 -- without this
change, savecore will always fail like this:
#savecore -v /var/crash
dumplo = 874356736 (1707728 * 512)
savecore: magic number mismatch (8fca0101 != 8fca0101)
savecore: no core dump
|
|
|
|
|
|
|
|
|
|
|
| |
gzip(1). gdb doesn't understand these, but then again it didn't
understand compressed crashdumps either.
* Change a stray lseek() into a Lseek()
* Remove the extraneous prototype for log() which has apparently never
existed in FreeBSD's sources
Obtained from: NetBSD (partially)
MFC after: 2 weeks
|
|
|
|
| |
adjust to whatever kernbase is in the kernel that we are dumping.
|
|
|
|
|
|
|
| |
as __printflike()/__printf0like(), adding const, or adding missing "%s"
format strings, as appropriate.
MFC after: 2 weeks
|
|
|
|
|
|
| |
the Alpha, it was because of luck that it was little endian.
Tidy up the dumpsize/dumppages confusion and the out of date comments.
|
|
|
|
| |
with 2GB or more of ram.
|
|
|
|
| |
string two revisions ago.
|
| |
|
|
|
|
|
|
|
|
|
| |
Use sysctlbyname() instead of sysctl().
Clear up and simplify the version extraction code.
Attempt to detect stretches of zeroes in the dump and avoid writing
them to disk to save space and time.
|
|
|
|
|
|
|
|
|
|
|
|
| |
returns doesn't exist, or doesn't match the desired device, fall back to
scanning /dev for a matching node, and as a last resort, if that fails,
try to create the node ourselves as /dev/dump.
Add comments to several variables and functions.
Clean up syslog(3) usage; use %m instead of strerror(3).
Other minor cleanup.
|
|
|
|
|
|
|
|
|
|
|
| |
1) use devname() instead of searching /dev for the dump device
2) use fopen() instead of open() so we don't need to differentiate
between compressing and not compressing when writing the core
file or the kernel (zopen() returns a FILE *, so we just use
fwrite() in both cases)
There should be no functional changes.
|
|
|
|
|
| |
was colliding with dirname() in libc.a and causing a Sig 10/bus error.
Just change dirname to savedir and be done with it.
|
|
|
|
| |
Submitted by: bde
|
|
|
|
| |
Botched/Noticed by: peter
|
|
|
|
| |
Submitted by: peter
|
| |
|
|
|
|
| |
this.
|
|
|
|
|
|
| |
indention, and size issue between 32 and 64bit machines.
Submitted by: bde
|
|
|
|
|
| |
tell the user how much space is avaible for writing the corefile, and how
much space we wanted.
|
| |
|
|
|
|
|
|
| |
sectorsizes up to 8k.
Pointed out by: sos
|
| |
|
|
|
|
| |
after the dev_t changes.
|
|
|
|
| |
Reviewed by: Doug Rabson <dfr@nlsystems.com>
|
| |
|
| |
|
| |
|
|
|
|
| |
posix standard on the topic.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
but Bill has beaten me on this. ;-)
However, he missed the part to compute the kernelsize in kilobytes,
so the minfree consideration was now overcautious. (I've also
changed the return type of dump_size() to void since int was useless.)
Being here, the fact that `vmcore' was written world-readable was just
a plain security hole: everybody who was able to crash a kernel could
later read any confidential information out of it at his will. Create
it with umask 077 instead.
|