summaryrefslogtreecommitdiffstats
path: root/sbin/savecore/savecore.c
Commit message (Collapse)AuthorAgeFilesLines
* If fgets(3) fails in getbounds(), show strerror(3) if not an EOF. Also fixbdrewery2014-09-171-1/+5
| | | | | | | | | a FILE* leak in getbounds(). Submitted by: Conrad Meyer <conrad.meyer@isilon.com> PR: 192032 Sponsored by: EMC / Isilon Storage Division MFC after: 1 week
* Fix double fclose() in an error case.brueffer2014-04-141-1/+1
| | | | | | CID: 1006120 Found with: Coverity Prevent(tm) MFC after: 1 week
* Log the name of the device that we failed to open rather than anmarkj2014-03-051-1/+1
| | | | | | uninitialized buffer. MFC after: 3 days
* With rotating kernel dumps the higest dump number is not necessarily thepjd2012-12-161-1/+29
| | | | | | | | | | | last one. To make it easier to find the last one create symlinks with 'last' suffix that will point to the files of the last coredump, eg.: info.last -> info.5 textdump.tar.last.gz -> textdump.tar.5.gz Reviewed by: avg Obtained from: WHEEL Systems
* Implement -m option to savecore(8) that allows to limit number of kernelpjd2012-12-161-19/+87
| | | | | | | dumps stored. Once the limit is reached it restarts from 0. Reviewed by: avg Obtained from: WHEEL Systems
* Make use of the fact that we changed working directory to the dump directorypjd2012-12-161-4/+3
| | | | | | earlier. Obtained from: WHEEL Systems
* Sort flags properly.pjd2012-12-161-3/+3
| | | | Obtained from: WHEEL Systems
* Prefer snprintf() over sprintf().pjd2012-12-161-5/+5
| | | | Obtained from: WHEEL Systems
* - When checking if a dump exists on the given device there is no need topjd2012-12-141-3/+3
| | | | | | | | | | | | | | | | provide dump directory. Eliminate this redundant argument. This changes the usage, but the only risk here is that a warning will be printed about directory given as device. - Update usage of -C option. - When clearing dump header from the given device there is also no need to provide dump directory, although additional arguments for -c were not documented. - Document that -v can be used with -c and that list of devices can be given. Obtained from: WHEEL Systems
* The clear option (-c) is not compatible with keep (-k) and compress (-z)pjd2012-12-141-0/+2
| | | | | | options. Obtained from: WHEEL Systems
* If we are not going to clear the dump (we are either just checking if the dumppjd2012-12-141-2/+2
| | | | | | exists or we want to keep it), open device read-only. Obtained from: WHEEL Systems
* Whitespace cleanups.pjd2012-12-141-6/+6
|
* Include <signal.h> (for SIGINFO).rmh2012-04-091-0/+1
|
* Remove duplicated header fileskevlo2011-06-241-1/+0
|
* Remove the advertising clause from UCB copyrighted files in sbin. Thisjoel2010-12-121-4/+0
| | | | | is in accordance with the information at ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
* - Add a SIGINFO handler for savecore.lulf2009-08-251-1/+17
|
* Compare kernel dump header magic with textdump magic using strncmp()rwatson2007-12-271-11/+31
| | | | | | | | | | | | rather than the memcmp() which is used for regular dumps: the textdump string is one character shorter, so we need to stop comparing at the end of the string. Use independent version checking logic for architecture-specific version number vs. textdump version number, as the version sequences may (someday) differ. Run into by: rrs
* Teach savecore(8) how to extract textdump(4) dumps.rwatson2007-12-261-79/+160
| | | | | | Update savecore(8) man page to reflect textdump additions. MFC after: 3 months
* Check fdopen return value.kevlo2007-05-281-0/+6
| | | | Reviewed by: phk
* o Restore kerneldumpheader.architectureversion bytes swoppingmaxim2005-10-021-1/+2
| | | | | | | | mangled in rev. 1.72. PR: bin/86805 Submitted by: Gavin Atkinson MFC after: 3 days
* Don't consider being unable to open the bounds file worthy of printingrwatson2005-09-131-1/+2
| | | | | | | | | at LOG_WARNING by default; instead, consider it something to be printed to the tty when 'verbose' mode is set. This avoids printing out extra lines at every boot on a system with crash dumps enabled, but that has not yet had to generate a crashdump. MFC after: 1 week
* Don't bump bounds every time savecore(8) is run.dwhite2005-06-201-9/+12
| | | | | Submitted by: Ed Maste <emaste@sandvine.com> Approved by: re
* Constify savedir pointer, and remove an accompaning strdup() call.delphij2005-05-291-8/+3
|
* style(9).obrien2005-02-261-43/+45
|
* Allow a forced dump even if the dump header information is inconsistent.obrien2005-02-241-17/+58
| | | | | | Output more verbosity with additional -v's. Submitted by: seanc
* Sync program's usage() with manpage's SYNOPSIS.ru2005-02-101-2/+4
|
* Initialize "he" in DoFile, so savecore(8) is WARNS=6 clean.delphij2005-01-101-1/+1
| | | | Bump WARNS accordingly.
* Use a local "compress" symbol corresponding to a variable in BSS,ru2004-08-161-2/+2
| | | | | | | rather than the one from libz, corresponding to a function, when linking statically. PR: bin/70392
* o Remove obsoleted '-N' and '-d' flags.maxim2004-02-281-3/+1
|
* o Sync usage() with reality: add 'z' flag.maxim2004-02-281-1/+2
| | | | MFC after: 1 week
* Merge from RELENG_4 1.28.2.13: Fix saving system crash dumps larger thantjr2004-02-201-1/+1
| | | | 2 GB by using fseeko() instead of fseek().
* Revision 1.61 changed the allocation of buffer 'buf' in DoFile() frommarcel2003-10-081-6/+0
| | | | | | | | | | | | | 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
* Add a flag that reports the existence of a dump, and does nothing else.dougb2003-09-041-4/+20
| | | | | | | | 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.
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-011-1/+1
| | | | especially in troff files.
* Fix breakage caused by allocating the I/O buffer. There was amarcel2002-06-021-2/+5
| | | | | | | sizeof(buf) lurking around that I missed. PR: 38811 Submitted by: Adrian Colley <aecolley@spamcop.net>
* Work around a memory fault on ia64 caused by having the 1MB buffer onmarcel2002-05-271-1/+16
| | | | | 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.
* Make argument to printf match format.marcel2002-05-061-1/+1
|
* - revert back to vmcore.#fenner2002-05-051-92/+252
| | | | | | | | | | | | | | - 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>
* Restore the minfree functionality into savecore. This patchmux2002-05-041-7/+80
| | | | | | | | 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
* Add FBSDID. Start errx(3) messages with lowercase. Remove a ')' with no '('.charnier2002-04-211-14/+15
| | | | | | In usage(), use fprintf(3) instead of errx(3), to make the printed string really start with `usage: ...'. Reviewed by: marcel
* Push the .info file contents out when we're done so people canphk2002-04-191-0/+1
| | | | read the description while the megs shift from one place to another.
* High-level changes (user visible):marcel2002-04-131-56/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Move generic disk ioctls from <sys/disklabel.h> to <sys/disk.h>.phk2002-04-081-1/+1
| | | | Sponsored by: DARPA & NAI Labs
* Make the kernel dump header endianness invariant by always dumpingmarcel2002-04-031-11/+15
| | | | | | | | | 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
* Add long long casts so that this compiles on archs with 64-bit longs.jhb2002-04-011-4/+4
| | | | Pointy-hat to: phk
* Savecore:phk2002-03-311-745/+173
| | | | | | | | | | 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 __Pimp2002-03-211-16/+16
| | | | o remove main prototype
* Remove 'register' keyword.obrien2002-03-201-5/+5
| | | | | | 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?)
* Sparc64 support.des2002-03-111-7/+7
|
* Remove some bogus "(off_t)(dumplo + value)" and "(off_t)dumplo" casts,peter2001-10-051-16/+18
| | | | | since dumplo is now an off_t. Scratch a couple of other itches as well. s/L_SET/SEEK_SET/
OpenPOWER on IntegriCloud