summaryrefslogtreecommitdiffstats
path: root/sys/geom
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove the MD5_KEY debugging toolphk2004-01-231-33/+0
|
* Remove no longer necessary debug printfsphk2004-01-231-6/+0
|
* Print the correct pointer in a KASSERT.phk2004-01-111-1/+1
| | | | Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
* KASSERT against no-op access requests.phk2004-01-091-0/+1
| | | | Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
* Prevent withering of the provider we're orphaning from happening untilphk2003-12-231-1/+7
| | | | | | we do it ourselves. Nailed by: Simon Heath <heath@cng.fr>
* Correct usage of mtx_init() API. This is not a functional change sincetruckman2003-12-072-3/+3
| | | | | | the code happened to work because MTX_DEF and NULL are both defined as 0. Reviewed by: phk
* KASSERT against multiple orphanings of providers.phk2003-12-072-0/+5
|
* Re-arrange and consolidate some random debugging stuffscottl2003-12-073-33/+1
|
* Call class->init() an class->fini() while the class is hooked up,phk2003-11-181-3/+5
| | | | | | | | | | | rather than right before and right after. This allows these routines to manipulate the mesh. KASSERT that nobody creates a geom on an alien class. Assert topology in g_valid_obj(). Approved by: re@
* Fix a harmless bug and add a ')' in a debugging printf.phk2003-11-181-2/+2
| | | | Submitted by: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
* This is a crude bandaid for 5.2 to protect against providers which disappearphk2003-11-151-0/+38
| | | | | while being tasted. I can moderately easy trigger this with atapi-cd, but I do not fully understand the circumstances.
* Make sure to return errors if we have any.phk2003-11-121-1/+1
| | | | Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
* Close the right consumers if we run into trouble opening them all.phk2003-10-241-1/+1
| | | | Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
* Fix two old/new consumer confusions.phk2003-10-241-2/+2
| | | | Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
* Fix a braino memory leak.phk2003-10-221-1/+1
| | | | Found by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
* Forgotten commit: If a provider has zero sectorsize, it is anphk2003-10-221-6/+3
| | | | | | indication of lack of media. Tripped up: peter
* Remove KASSERT check for negative bio_offsets, add "normal" EIOphk2003-10-192-4/+3
| | | | error return for same.
* Retire bio_blkno entirely.phk2003-10-181-1/+0
| | | | | | bio_offset is the field drivers should use. bio_pblkno remains as a convenient place to store the number of the device drivers.
* Assume that bp->bio_offset is correctly initialized.phk2003-10-121-1/+0
| | | | This fixes non-power-of-2 blocksize GEOM I/O.
* Destroy providers maked with G_PF_WITHER when the last consumer has detached.phk2003-10-121-0/+2
|
* Interior decoration changes.phk2003-10-072-42/+39
|
* Allow our bio tools to be used for local bio-chopping by not mandatingphk2003-10-061-2/+7
| | | | | a bio_from value. bio_to is still mandated (mostly for debuggign) and shall be copied from the parent bio.
* Introduce a per provider wither flagphk2003-10-062-0/+3
|
* Return ENODEV in case the driver has no dump routine.phk2003-09-291-0/+4
|
* The present defaults for the open and close for device drivers whichphk2003-09-271-2/+0
| | | | | | | | | | | | | | provide no methods does not make any sense, and is not used by any driver. It is a pretty hard to come up with even a theoretical concept of a device driver which would always fail open and close with ENODEV. Change the defaults to be nullopen() and nullclose() which simply does nothing. Remove explicit initializations to these from the drivers which already used them.
* Add more KASSERTS().phk2003-09-261-0/+6
|
* Be more careful in dumpconf: softc may be NULL for departing devices.phk2003-09-231-3/+6
| | | | Allow drivers to initialize the d_devstat if they want magic params.
* Reorder a couple of KASSERTS to give more sensible messages.phk2003-09-111-2/+2
| | | | Found by: GEOM 101 class of '03
* Correct bzero length so we clear the entire key structure.phk2003-09-081-1/+1
|
* Bzero the right number of bytes.phk2003-09-061-1/+1
| | | | Found by: Juergen Buchmueller <pullmoll@stop1984.com>
* Make sure to return ENOIOCTL if the ioctl is not handled.phk2003-09-041-2/+2
|
* Simplify the ioctl handling in GEOM.phk2003-09-016-309/+146
| | | | | | | | | | | | | | | This replaces the current ioctl processing with a direct call path from geom_dev() where the ioctl arrives (from SPECFS) to any directly connected GEOM class. The inverse of the above is no longer supported. This is the situation were you have one or more intervening GEOM classes, for instance a BSDlabel on top of a MBR or PC98. If you want to issue MBR or PC98 specific ioctls, you will need to issue them on a MBR or PC98 providers. This paves the way for inviting CD's, FD's and other special cases inside GEOM.
* Try to close the race between disk_destroy() and a subsequent disk_create().phk2003-09-011-19/+17
|
* Add the new g_dev_getprovider() function, the swap_pager needs it now.phk2003-08-302-0/+15
| | | | Spotted by: mr
* Change the the size fields to daddr_t to support greater than 2TB ccd volumes.ps2003-08-221-5/+5
| | | | Reviewed by: phk
* Make CCD unloadable.phk2003-08-221-8/+11
|
* Don't panic over the fact that unloading failed if we already knew that.phk2003-08-221-3/+5
|
* Block all GETATTR calls hitting the CCD, we wouldn't know which childphk2003-08-221-0/+10
| | | | | | | device should handle them. This prevents for instance GEOM::ioctl requests from reaching a lower BSDlabel node, which ps@ found would confuse newfs(8).
* Check for null softc pointers, these happens when a ccd is withering.phk2003-08-221-2/+2
| | | | Found by: David Schultz <dschultz@OCF.Berkeley.EDU>
* Replace a panic with a .1Hz retry loop.phk2003-08-131-1/+10
| | | | Not a perfect solution, but far cheaper than one.
* In case we encounter a zero sectorsize provider in g_io_check(), failphk2003-08-131-0/+6
| | | | the request with a printf rather than a divide by zero error.
* Kick Giant compatibility one layer up.phk2003-08-021-9/+1
|
* Fix a memory leak in CCD's mirror code.phk2003-07-291-0/+2
|
* Implement DOSPTYP_EXTLBA more completely: loop until we find no morephk2003-07-291-1/+2
| | | | | | | partitions. Submitted by: Rudolf Cejka <cejkar@fit.vutbr.cz> PR: 53719
* Handle geoms which are withering away specially in the dump functions.phk2003-07-081-3/+11
|
* Only dump 512 bytes of debugging.phk2003-07-021-1/+2
| | | | Always wait for things to settle before returning.
* Sleep on "-" in our normal state to simplify debugging.phk2003-06-182-3/+5
|
* Add "GEOM_FOX", a class which detects and selects between multiplephk2003-06-181-0/+468
| | | | | | | | | | | | | | | | | | | redundant paths to the same device. This class reacts to a label in the first sector of the device, which is created the following way: # "0123456789abcdef012345..." # "<----magic-----><-id-...> echo "GEOM::FOX someid" | dd of=/dev/da0 conv=sync NB: Since the fact that multiple disk devices are in fact the same device is not known to GEOM, the geom taste/spoil process cannot fully catch all corner cases and this module can therefore be confused if you do the right wrong things. NB: The disk level drivers need to do the right thing for this to be useful, and that is not by definition currently the case.
* Use __FBSDID().obrien2003-06-1123-53/+64
| | | | Approved by: phk
* Fix error handling for ENOMEM style issues.phk2003-06-091-21/+9
|
OpenPOWER on IntegriCloud