diff options
author | alfred <alfred@FreeBSD.org> | 2010-03-02 06:58:58 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2010-03-02 06:58:58 +0000 |
commit | f34ce3dd384c7e26c5474a869851a24b36a10df2 (patch) | |
tree | f83c2f2fdc768503cc062e89b74034f42a21dc98 /sys/sys/imgact_elf.h | |
parent | 8f72bf4ef06c0868171b0ca88af8f0671c7aedee (diff) | |
download | FreeBSD-src-f34ce3dd384c7e26c5474a869851a24b36a10df2.zip FreeBSD-src-f34ce3dd384c7e26c5474a869851a24b36a10df2.tar.gz |
Merge projects/enhanced_coredumps (r204346) into HEAD:
Enhanced process coredump routines.
This brings in the following features:
1) Limit number of cores per process via the %I coredump formatter.
Example:
if corefilename is set to %N.%I.core AND num_cores = 3, then
if a process "rpd" cores, then the corefile will be named
"rpd.0.core", however if it cores again, then the kernel will
generate "rpd.1.core" until we hit the limit of "num_cores".
this is useful to get several corefiles, but also prevent filling
the machine with corefiles.
2) Encode machine hostname in core dump name via %H.
3) Compress coredumps, useful for embedded platforms with limited space.
A sysctl kern.compress_user_cores is made available if turned on.
To enable compressed coredumps, the following config options need to be set:
options COMPRESS_USER_CORES
device zlib # brings in the zlib requirements.
device gzio # brings in the kernel vnode gzip output module.
4) Eventhandlers are fired to indicate coredumps in progress.
5) The imgact sv_coredump routine has grown a flag to pass in more
state, currently this is used only for passing a flag down to compress
the coredump or not.
Note that the gzio facility can be used for generic output of gzip'd
streams via vnodes.
Obtained from: Juniper Networks
Reviewed by: kan
Diffstat (limited to 'sys/sys/imgact_elf.h')
-rw-r--r-- | sys/sys/imgact_elf.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h index 4ccee5d..1cc2a61 100644 --- a/sys/sys/imgact_elf.h +++ b/sys/sys/imgact_elf.h @@ -88,7 +88,7 @@ int __elfN(brand_inuse)(Elf_Brandinfo *entry); int __elfN(insert_brand_entry)(Elf_Brandinfo *entry); int __elfN(remove_brand_entry)(Elf_Brandinfo *entry); int __elfN(freebsd_fixup)(register_t **, struct image_params *); -int __elfN(coredump)(struct thread *, struct vnode *, off_t); +int __elfN(coredump)(struct thread *, struct vnode *, off_t, int); /* Machine specific function to dump per-thread information. */ void __elfN(dump_thread)(struct thread *, void *, size_t *); |