#
7f086a08 |
| 09-Apr-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Rename DIOCGKERNELDUMP to DIOCSKERNELDUMP as it strictly speaking is a "set" not a "get" operation.
Sponsored by: DARPA & NAI Labs.
|
#
81661c94 |
| 01-Apr-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Here follows the new kernel dumping infrastructure.
Caveats:
The new savecore program is not complete in the sense that it emulates enough of the old savecores features to do the job, but implement
Here follows the new kernel dumping infrastructure.
Caveats:
The new savecore program is not complete in the sense that it emulates enough of the old savecores features to do the job, but implements none of the options yet.
I would appreciate if a userland hacker could help me out getting savecore to do what we want it to do from a users point of view, compression, email-notification, space reservation etc etc. (send me email if you are interested).
Currently, savecore will scan all devices marked as "swap" or "dump" in /etc/fstab _or_ any devices specified on the command-line.
All architectures but i386 lack an implementation of dumpsys(), but looking at the i386 version it should be trivial for anybody familiar with the platform(s) to provide this function.
Documentation is quite sparse at this time, more to come.
Details:
ATA and SCSI drivers should work as the dump formatting code has been removed. The IDA, TWE and AAC have not yet been converted.
Dumpon now opens the device and uses ioctl(DIOCGKERNELDUMP) to set the device as dumpdev. To implement the "off" argument, /dev/null is used as the device.
Savecore will fail if handed any options since they are not (yet) implemented. All devices marked "dump" or "swap" in /etc/fstab will be scanned and dumps found will be saved to diskfiles named from the MD5 hash of the header record. The header record is dumped in readable format in the .info file. The kernel is not saved. Only complete dumps will be saved.
All maintainer rights for this code are disclaimed: feel free to improve and extend.
Sponsored by: DARPA, NAI Labs
show more ...
|
#
417fb7f6 |
| 11-Mar-2002 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make the disk_clone() routine more robust for abuse. Sneak in a trivial bit of the GEOM stuff while we're here anyway.
|
#
6f60771b |
| 05-Mar-2002 |
Robert Drehmel <robert@FreeBSD.org> |
Fix a warning.
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs |
|
#
3165f068 |
| 04-Nov-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Don't call cdevsw_add().
|
#
20a3b67c |
| 04-Nov-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Rename the top 7 bits if disk minors to spare bits, rather than type bits.
|
#
b456f7e6 |
| 04-Nov-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Don't choke on old sd%d.ctl devices.
Tripped over by: Jos Backus <josb@cncdsl.com>
|
#
a2d7281c |
| 02-Nov-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Turn the symlinks around, instead of ad0s1 -> ad0s1c, make it ad0s1c -> ad0s1.
Requested by: peter
|
#
4e130067 |
| 28-Oct-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Fix a problem in the disk related hack where device nodes for a physically non-existent disk in a legacy /dev on a DEVFS system would panic the system if stat(2)'ed.
Do not whine about anonymous dev
Fix a problem in the disk related hack where device nodes for a physically non-existent disk in a legacy /dev on a DEVFS system would panic the system if stat(2)'ed.
Do not whine about anonymous device nodes not having a si_devsw, they're not supposed to.
show more ...
|
#
4e4a7663 |
| 27-Oct-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Nudge the axe a bit closer to cdevsw[]:
Make it a panic to repeat make_dev() or destroy_dev(), this check should maybe be neutered when -current goes -stable.
Whine if devsw() is called on
Nudge the axe a bit closer to cdevsw[]:
Make it a panic to repeat make_dev() or destroy_dev(), this check should maybe be neutered when -current goes -stable.
Whine if devsw() is called on anon dev_t's in a devfs system.
Make a hack to avoid our lazy-eval disk code triggering the above whine.
Fix the multiple make_dev() in disk code by making ${disk}${unit}s${slice} an alias/symlink to ${disk}${unit}s${slice}c
show more ...
|
#
5015bb7f |
| 22-Oct-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
disk_clone() was a bit too eager to please: "md0s1ec" is not a valid device.
Noticed by: Chad David <davidc@acns.ab.ca>
|
#
b40ce416 |
| 12-Sep-2001 |
Julian Elischer <julian@FreeBSD.org> |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is fu
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
show more ...
|
#
a572c95c |
| 15-Aug-2001 |
Bruce Evans <bde@FreeBSD.org> |
Don't dump on the label sector or below. This avoids clobbering the label if the dump device overflaps the label (which is a slight misconfiguration). Dump routines don't use dscheck(), so the norm
Don't dump on the label sector or below. This avoids clobbering the label if the dump device overflaps the label (which is a slight misconfiguration). Dump routines don't use dscheck(), so the normal write protection of the label doesn't help.
Reduced some nearby overflow bugs. In disk_dumpcheck(), there was (fatal but fail-safe) overflow on i386's with 4GB of memory, at least if Maxmem was the top page (can this happen?). The fix assumes that the sector size divides PAGE_SIZE (dump routines already assume this). In setdumpdev(), the corresponding overflow occurred with only about 2GB of memory on all machines with 32-bit ints. This allowed setdumpdev() to succeed when it shouldn't have, but then disk_dumpcheck() failed safe later. Except in old versions of FreeBSD like RELENG_3 where there is no disk_dumpcheck().
PR: 28164 (label clobbering part) MFC after: 1 week
show more ...
|
#
22628ccf |
| 29-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove the hack-around for the slice/label code, it didn't cover the hole.
|
#
507fbee0 |
| 28-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
The disklabel/slice code is more twisted than I thought. Revert to calling the cdevsw_add() unconditionally.
|
#
3344c5a1 |
| 26-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Create a general facility for making dev_t's depend on another dev_t. The dev_depends(dev_t, dev_t) function is for tying them to each other.
When destroy_dev() is called on a dev_t, all dev_t's de
Create a general facility for making dev_t's depend on another dev_t. The dev_depends(dev_t, dev_t) function is for tying them to each other.
When destroy_dev() is called on a dev_t, all dev_t's depending on it will also be destroyed (depth first order).
Rewrite the make_dev_alias() to use this dependency facility.
kern/subr_disk.c: Make the disk mini-layer use dependencies to make sure all relevant dev_t's are removed when the disk disappears.
Make the disk mini-layer precreate some magic sub devices which the disk/slice/label code expects to be there.
kern/subr_disklabel.c: Remove some now unneeded variables.
kern/subr_diskmbr.c: Remove some ancient, commented out code.
kern/subr_diskslice.c: Minor cleanup. Use name from dev_t instead of dsname()
show more ...
|
#
8576c652 |
| 24-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Don't take the detour around devsw() to find out if the proto-cdevsw is already initialized.
|
#
e0e0b661 |
| 08-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Always initialize bio_resid from bio_bcount in the disk mini-layer so that the drivers don't have to do it umpteen times.
|
#
079f2df3 |
| 06-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Make the disk mini-layer check for and handle zero-length transfers instead of the underlying drivers.
|
#
a468031c |
| 06-May-2001 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Actually biofinish(struct bio *, struct devstat *, int error) is more general than the bioerror().
Most of this patch is generated by scripts.
|
Revision tags: release/4.3.0_cvs, release/4.3.0 |
|
#
b417a1a8 |
| 13-Mar-2001 |
Søren Schmidt <sos@FreeBSD.org> |
Dont call device close and ioctl functions if device has disappeared.
Reviewed by: phk
|
#
f84ee0ff |
| 15-Dec-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Don't clone impossible unit numbers for disks.
|
#
959b7375 |
| 08-Dec-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Staticize some malloc M_ instances.
|
Revision tags: release/4.2.0, release/4.1.1_cvs |
|
#
db901281 |
| 02-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Avoid the modules madness I inadvertently introduced by making the cloning infrastructure standard in kern_conf. Modules are now the same with or without devfs support.
If you need to detect if dev
Avoid the modules madness I inadvertently introduced by making the cloning infrastructure standard in kern_conf. Modules are now the same with or without devfs support.
If you need to detect if devfs is present, in modules or elsewhere, check the integer variable "devfs_present".
This happily removes an ugly hack from kern/vfs_conf.c.
This forces a rename of the eventhandler and the standard clone helper function.
Include <sys/eventhandler.h> in <sys/conf.h>: it's a helper #include like <sys/queue.h>
Remove all #includes of opt_devfs.h they no longer matter.
show more ...
|
#
3f54a085 |
| 20-Aug-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)
Remove old DEVFS support fields from dev_t.
Make uid, gid & mode members of dev_t and set them in make_dev().
Use correct
Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)
Remove old DEVFS support fields from dev_t.
Make uid, gid & mode members of dev_t and set them in make_dev().
Use correct uid, gid & mode in make_dev in disk minilayer.
Add support for registering alias names for a dev_t using the new function make_dev_alias(). These will show up as symlinks in DEVFS.
Use makedev() rather than make_dev() for MFSs magic devices to prevent DEVFS from noticing this abuse.
Add a field for DEVFS inode number in dev_t.
Add new DEVFS in fs/devfs.
Add devfs cloning to: disk minilayer (ie: ad(4), sd(4), cd(4) etc etc) md(4), tun(4), bpf(4), fd(4)
If DEVFS add -d flag to /sbin/inits args to make it mount devfs.
Add commented out DEVFS to GENERIC
show more ...
|