phk
e65ee01a8f
Remove no longer necessary debug printfs
2004-01-23 10:56:16 +00:00
phk
437b669def
Print the correct pointer in a KASSERT.
...
Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
2004-01-11 10:02:42 +00:00
phk
cce4827569
KASSERT against no-op access requests.
...
Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
2004-01-09 16:10:32 +00:00
phk
fe692735bf
Prevent withering of the provider we're orphaning from happening until
...
we do it ourselves.
Nailed by: Simon Heath <heath@cng.fr>
2003-12-23 11:37:05 +00:00
truckman
87a37b565f
Correct usage of mtx_init() API. This is not a functional change since
...
the code happened to work because MTX_DEF and NULL are both defined as 0.
Reviewed by: phk
2003-12-07 23:20:53 +00:00
phk
888f0e51c6
KASSERT against multiple orphanings of providers.
2003-12-07 10:04:43 +00:00
scottl
2b68e67c6d
Re-arrange and consolidate some random debugging stuff
2003-12-07 05:04:49 +00:00
phk
d7fc6b258d
Call class->init() an class->fini() while the class is hooked up,
...
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@
2003-11-18 18:17:39 +00:00
phk
aeb3231da5
Fix a harmless bug and add a ')' in a debugging printf.
...
Submitted by: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
2003-11-18 07:54:12 +00:00
phk
06ab707e79
This is a crude bandaid for 5.2 to protect against providers which disappear
...
while being tasted. I can moderately easy trigger this with atapi-cd, but
I do not fully understand the circumstances.
2003-11-15 18:44:43 +00:00
phk
01e9462fd6
Make sure to return errors if we have any.
...
Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
2003-11-12 09:46:54 +00:00
phk
a42d01d036
Close the right consumers if we run into trouble opening them all.
...
Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
2003-10-24 18:47:31 +00:00
phk
1fd6c526e3
Fix two old/new consumer confusions.
...
Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
2003-10-24 18:46:23 +00:00
phk
d7e0132261
Fix a braino memory leak.
...
Found by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
2003-10-22 20:28:46 +00:00
phk
5a35d3b764
Forgotten commit: If a provider has zero sectorsize, it is an
...
indication of lack of media.
Tripped up: peter
2003-10-22 06:32:20 +00:00
phk
b7c9250fa7
Remove KASSERT check for negative bio_offsets, add "normal" EIO
...
error return for same.
2003-10-19 19:06:54 +00:00
phk
b3eb57c5d4
Retire bio_blkno entirely.
...
bio_offset is the field drivers should use.
bio_pblkno remains as a convenient place to store the number of
the device drivers.
2003-10-18 17:53:34 +00:00
phk
9d23a3014f
Assume that bp->bio_offset is correctly initialized.
...
This fixes non-power-of-2 blocksize GEOM I/O.
2003-10-12 11:35:55 +00:00
phk
ed350390ed
Destroy providers maked with G_PF_WITHER when the last consumer has detached.
2003-10-12 11:34:35 +00:00
phk
a7b8d85b93
Interior decoration changes.
2003-10-07 09:28:07 +00:00
phk
c7d1762ad7
Allow our bio tools to be used for local bio-chopping by not mandating
...
a bio_from value. bio_to is still mandated (mostly for debuggign) and
shall be copied from the parent bio.
2003-10-06 09:07:35 +00:00
phk
dc1586f843
Introduce a per provider wither flag
2003-10-06 09:05:44 +00:00
phk
9e3e052c16
Return ENODEV in case the driver has no dump routine.
2003-09-29 07:44:23 +00:00
phk
7099deadda
The present defaults for the open and close for device drivers which
...
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.
2003-09-27 12:01:01 +00:00
phk
4b80280a92
Add more KASSERTS().
2003-09-26 20:52:46 +00:00
phk
ac7d8771f0
Be more careful in dumpconf: softc may be NULL for departing devices.
...
Allow drivers to initialize the d_devstat if they want magic params.
2003-09-23 07:53:59 +00:00
phk
99d28702f5
Reorder a couple of KASSERTS to give more sensible messages.
...
Found by: GEOM 101 class of '03
2003-09-11 00:49:02 +00:00
phk
bab9696ceb
Correct bzero length so we clear the entire key structure.
2003-09-08 18:35:26 +00:00
phk
db461ec795
Bzero the right number of bytes.
...
Found by: Juergen Buchmueller <pullmoll@stop1984.com>
2003-09-06 18:37:17 +00:00
phk
862461d8b4
Make sure to return ENOIOCTL if the ioctl is not handled.
2003-09-04 21:23:46 +00:00
phk
38290a3baa
Simplify the ioctl handling in GEOM.
...
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.
2003-09-01 20:45:32 +00:00
phk
9958b55dce
Try to close the race between disk_destroy() and a subsequent disk_create().
2003-09-01 12:03:13 +00:00
phk
a802e42c5a
Add the new g_dev_getprovider() function, the swap_pager needs it now.
...
Spotted by: mr
2003-08-30 18:33:55 +00:00
ps
3f7f2a4cfc
Change the the size fields to daddr_t to support greater than 2TB ccd volumes.
...
Reviewed by: phk
2003-08-22 11:21:06 +00:00
phk
57ee24a70a
Make CCD unloadable.
2003-08-22 11:04:47 +00:00
phk
ec0641f616
Don't panic over the fact that unloading failed if we already knew that.
2003-08-22 11:00:54 +00:00
phk
0955331370
Block all GETATTR calls hitting the CCD, we wouldn't know which child
...
device should handle them.
This prevents for instance GEOM::ioctl requests from reaching a
lower BSDlabel node, which ps@ found would confuse newfs(8).
2003-08-22 10:28:19 +00:00
phk
d2368e58de
Check for null softc pointers, these happens when a ccd is withering.
...
Found by: David Schultz <dschultz@OCF.Berkeley.EDU>
2003-08-22 10:22:46 +00:00
phk
b43271d3a4
Replace a panic with a .1Hz retry loop.
...
Not a perfect solution, but far cheaper than one.
2003-08-13 12:35:25 +00:00
phk
b35539c7d2
In case we encounter a zero sectorsize provider in g_io_check(), fail
...
the request with a printf rather than a divide by zero error.
2003-08-13 06:42:56 +00:00
phk
4a97de3d53
Kick Giant compatibility one layer up.
2003-08-02 10:11:58 +00:00
phk
f1458a1700
Fix a memory leak in CCD's mirror code.
2003-07-29 20:04:06 +00:00
phk
2d9e322722
Implement DOSPTYP_EXTLBA more completely: loop until we find no more
...
partitions.
Submitted by: Rudolf Cejka <cejkar@fit.vutbr.cz>
PR: 53719
2003-07-29 10:09:13 +00:00
phk
47a98bb53f
Handle geoms which are withering away specially in the dump functions.
2003-07-08 21:12:40 +00:00
phk
cee4a6c39a
Only dump 512 bytes of debugging.
...
Always wait for things to settle before returning.
2003-07-02 08:07:07 +00:00
phk
57f7d6f488
Sleep on "-" in our normal state to simplify debugging.
2003-06-18 10:33:09 +00:00
phk
84a309987c
Add "GEOM_FOX", a class which detects and selects between multiple
...
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.
2003-06-18 09:29:28 +00:00
obrien
40ee2bd5c8
Use __FBSDID().
...
Approved by: phk
2003-06-11 06:49:16 +00:00
phk
96300d6f8f
Fix error handling for ENOMEM style issues.
2003-06-09 19:12:19 +00:00
phk
8d105bca1c
Improve the root-dev prompt facility for printing devices which could
...
possibly be a root filesystem.
2003-06-07 15:46:53 +00:00
phk
c9fca2ba58
Wait for everything to settle before we try to print the list of
...
geom devices.
2003-06-07 15:32:09 +00:00
phk
01274259b9
Make sure we return an error message if the geom parameter is not
...
located.
2003-06-07 15:31:44 +00:00
phk
727d06d199
Polishing and nitpicking.
2003-06-07 11:06:44 +00:00
phk
dd1aaed417
Drop a memory-corruption debugging test-tool.
2003-06-07 10:55:48 +00:00
phk
69b4e9ce01
Add missing va_end() calls.
...
Noticed by: tmm
2003-06-07 10:16:53 +00:00
phk
e23e34a198
Introduce g_provider_by_name() function, and use it.
2003-06-04 18:17:52 +00:00
phk
9e9ac1e55e
Make this a true GEOM class:
...
Attach to the component devices using GEOM semantics.
Create a GEOM provider instead of using disk_create()
Use the GEOM OAM api for configuration.
I saw approx ~1% speedup in througput and ~7% in latency in a
simple minded test of a two-disk striped device.
This file was repo-copied from src/sys/dev/ccd/ccd.c.
This is not yet linked into the build.
2003-06-04 18:16:09 +00:00
phk
1ee949187c
Add a KASSERT to prevent the same GEOM class from being processed loaded
...
twice.
Enforce that classes should have different names while we are here.
2003-06-04 17:51:10 +00:00
phk
52a564bd3f
Further devilification of CCD:
...
Change the list interface to simplify things.
Remove old list ioctls which bogusly exported the softc to userland.
Move the softc and associated structures from the public header to
the source file.
2003-06-02 21:29:04 +00:00
phk
44a9a5c714
Begin deevilification of CCD:
...
Make CCD a GEOM class.
For now only use this for implementing a OAM config method which
can return a list of configured CCD devices in the format which
"ccdconfig -g[v]" would normally output.
2003-06-02 20:50:03 +00:00
phk
9a8f0922c0
Return an indicative error message.
2003-06-02 20:35:37 +00:00
phk
069191fcbf
Simplify the GEOM OAM api: Drop the request type, and let everything
...
hinge on the "verb" parameter which the class gets to interpret as
it sees fit.
Move the entire request into the kernel and move changed parameters
back when done.
2003-06-01 13:47:51 +00:00
phk
5a2388f470
constify g_sanity()
2003-06-01 13:30:39 +00:00
phk
305dd90d00
Use bcmp() to compare hash strings.
2003-06-01 09:18:49 +00:00
phk
cd37433ef9
Remove unused variable.
...
Remove unneeded return;
Found by: FlexeLint
2003-05-31 19:41:33 +00:00
phk
70af1dfe88
Remove unused variables.
...
Found by: FlexeLint
2003-05-31 19:40:43 +00:00
phk
dcb3c04301
Remove unused variables.
...
Rename struct h0h0 to g_hh01 in order to make it unique over files.
Found by: FlexeLint
2003-05-31 19:37:21 +00:00
phk
23436c40b9
Remove unused variables.
...
Remove #ifdef notyet which will never become.
Found by: FlexeLint
2003-05-31 19:30:52 +00:00
phk
f0f1321766
Remove unused variable.
...
Remove unneeded return.
Found by: FlexeLint
2003-05-31 19:29:38 +00:00
phk
ef00c86fce
Remove unused variable.
...
Found by: FlexeLint
2003-05-31 19:28:53 +00:00
phk
926fff03bf
Add a destroy_geom method to the slice "library".
...
If a slice class has no destroy_geom method, use this one.
This should allow all slicers to kldload.
2003-05-31 19:25:05 +00:00
phk
48e54f8060
Don't use & in front of arrays.
...
Found by: FlexeLint
2003-05-31 19:23:11 +00:00
phk
c48dbf1758
Remove unused variable.
...
Found by: FlexeLint
2003-05-31 19:08:23 +00:00
phk
b11f7951ec
Remove unused variable.
...
Found by: FlexeLint
2003-05-31 18:55:18 +00:00
phk
3325608f8f
Introduce a init and fini member functions on a class.
...
Use ->init() and ->fini() to handle the mutex in geom_disk.c
Remove the g_add_class() function and replace it with a standardized
g_modevent() function.
This adds the basic infrastructure for loading/unloading GEOM classes
2003-05-31 18:13:07 +00:00
phk
e2298826ec
Remove the G_CLASS_INITIALIZER, we do not need it anymore.
2003-05-31 16:59:27 +00:00
phk
9c455f6a96
Use le_uuid_dec() since GPT UUID's are always in LE format.
...
Tested by: Marcel
2003-05-31 16:48:43 +00:00
phk
f716dc5d96
Don't do silly thing if the disk_create() event gets canceled.
...
Approved by: re/scottl
2003-05-25 16:57:10 +00:00
phk
8539560193
Return ENXIO if the softc pointer is NULL, in all likelyhood the
...
disk is in the process of disappearing.
Approved by: re/rwats*
2003-05-21 18:52:29 +00:00
phk
489ad07179
When a disk disappears, destroy the class from the event thread
...
to avoid race condtion.
Approved by: re/rwatson
2003-05-12 20:15:28 +00:00
phk
8ece7cbc43
When a GEOM (/dev-)device is closed and we find that I/O requests are
...
still outstanding, give them a chance to complete.
If after 10 seconds we still find outstanding I/O requests, complete
the close with a console warning that the system is likely to panic
later on.
This is a workaround for umount -f not quite doing the right thing.
Approved by: re/scottl
2003-05-09 21:25:28 +00:00
phk
4e002d7a93
Hide the "ENOMEM" notice messages behind bootverbose. They are still
...
a valuable debugging tool for certain kinds of problems.
Approved by: re/scottl
2003-05-07 05:37:31 +00:00
phk
3cc52c15ec
Fix the WARNING for wrong rawoffset, I tested incompatible units.
...
Approved by: re/jhb
2003-05-06 19:36:13 +00:00
phk
410334cfe0
Avoid double-free panic.
...
Tripped up: DougB
2003-05-05 15:52:11 +00:00
phk
3f2e0ad16d
Re-order the the initialization slightly to improve structure.
2003-05-05 08:58:12 +00:00
phk
d6ece911bb
Use a dedicated malloc(9) bucket for sector storage.
2003-05-05 08:37:07 +00:00
phk
0c30fa28a2
Don't warn if the rawoffset is zero, that is actually the best value it
...
could have.
2003-05-05 08:30:59 +00:00
phk
9f0560bebc
Turn the check that rawoffset == mbroffset into a warning instead.
2003-05-05 06:46:49 +00:00
phk
aac4aea759
Only accept a rawoffset if it is identical to the mbroffset.
2003-05-04 19:26:31 +00:00
phk
aa1b7d74da
Add a way to read the current mbroffset from a BSD label class.
2003-05-04 19:25:48 +00:00
phk
f1297dcac6
Add gctl_set_param() function.
2003-05-04 19:24:34 +00:00
phk
eb7e0cd5d2
Remove debugging printfs which should not have been committed.
2003-05-04 18:48:25 +00:00
phk
bbc021cef5
Add a OAM interface for changing the label and writing the boot code.
2003-05-03 08:01:34 +00:00
phk
3644496d4a
remove unused variables.
...
Spotted by: dougb
2003-05-03 07:12:15 +00:00
phk
2a47b08091
Make bsd_disklabel_le_enc calculate the checksum and fill it in.
...
(If there is a legitimate need to correctly encode and pack a
disklabel with an invalid checksum custom tools can be built for
that.)
Make bsd_disklabel_le_dec() validate the magics, number of partitions
(against a new parameter) and the checksum.
Vastly simplify the logic of the GEOM::BSD class implementation:
Let g_bsd_modify() always take a byte-stream label.
This simplifies all users, except the ioctl's which now have to
convert to a byte-stream first. Their loss.
g_bsd_modify() is called with topology held now, and it returns
with it held.
Always update the md5sum in g_bsd_modify(), otherwise the check
is no use after the first modification of the label. Make the
MD5 over the bytestream version of the label.
Move the rawoffset hack to g_bsd_modify() and remove all the
inram/ondisk conversions.
Don't configure hotspots in g_bsd_modify(), do it in taste instead,
we do not support moving the label to a different location on the
fly anyway.
This passes all current regression tests.
2003-05-02 22:46:13 +00:00
phk
3f52da0d28
Pull in bcopy() prototype from <string.h> when compiled in userland.
2003-05-02 19:53:55 +00:00
phk
d73072efd4
Considering that I did cast the arguments to (intmax_t) I must have
...
been sleepy since I used %qd instead of %jd.
2003-05-02 19:08:57 +00:00
phk
5ffbb6f148
Style improvement.
2003-05-02 12:57:40 +00:00
phk
3708ab2594
Use g_wither_geom() and plug memory leaks.
2003-05-02 12:52:51 +00:00
phk
637729fea0
Plug memory leaks.
2003-05-02 12:49:41 +00:00
phk
26f669a3c9
Use an uma-zone for allocation bio requests.
2003-05-02 12:36:12 +00:00
phk
94c69d48c9
Use g_slice_spoiled() instead of g_std_spoiled().
...
Add XXX comment about minor memory leak until I can fix it.
2003-05-02 08:33:26 +00:00
phk
7636503a41
Use g_slice_spoiled() instead of g_std_spoiled().
2003-05-02 08:21:02 +00:00
phk
d2b42c6620
Use g_slice_spoiled().
...
Free buffer from g_read_data().
2003-05-02 08:13:03 +00:00
phk
055cf65eb1
Back out all the stuff that didn't belong in the last commit.
2003-05-02 06:42:59 +00:00
phk
4c52a206d2
Use g_slice_spoiled() rather than g_std_spoiled().
...
Remember to free the buffer we got from g_read_data().
2003-05-02 06:36:14 +00:00
phk
6b0e95eef5
Use g_slice_spoiled() not g_std_spoiled()
2003-05-02 06:34:51 +00:00
phk
0a7a0e5019
Use g_slice_spoiled() rather than g_std_spoiled()
2003-05-02 06:33:59 +00:00
phk
077126a4be
Use g_slice_spoiled() rather than g_std_spoiled().
2003-05-02 06:33:26 +00:00
phk
4ac5216f83
Use a more tailored spoil routine for slices, and take advantage of
...
g_wither_geom() to do most of the work for us.
2003-05-02 06:29:33 +00:00
phk
dfdb8ebb84
Style improvement.
2003-05-02 06:22:48 +00:00
phk
e39be99d04
Use g_wither_geom() for cleanup.
2003-05-02 06:22:32 +00:00
phk
098143e63b
Rework the "withering" mechanism:
...
Introduce g_wither_geom() to do the work in one single place.
2003-05-02 06:15:27 +00:00
phk
cb4841eb7e
Rename g_slice_init() to the more appropriate g_slice_alloc() and give
...
it a g_slice_free() partner function.
2003-05-02 05:33:27 +00:00
phk
47865226a5
style improvement.
2003-05-02 05:26:47 +00:00
phk
a49f8acd23
Get rid of trivial function g_destroy_event().
2003-05-02 05:26:19 +00:00
phk
ea4d816aa1
Plug some memory-leaks.
2003-05-01 21:07:08 +00:00
phk
c51ae09b82
Remove the now obsolete geomidorname hack.
2003-05-01 20:32:24 +00:00
phk
26e81abf93
Add a new flag, EV_CANCELED, and use it to make g_waitfor_event() return
...
EAGAIN if an event got canceled.
2003-05-01 19:43:52 +00:00
phk
2ae9241429
When events on a reference is cancelled, check our doorstep first,
...
it might be an orphan.
2003-05-01 19:24:00 +00:00
phk
def0071c3d
Remove now unneeded special case for "geom.ctl".
2003-05-01 18:18:14 +00:00
nyan
0ecbcb89a3
Remove DIOCGPC98 ioctl.
2003-05-01 14:40:16 +00:00
nyan
313e553205
- Move decoding pc98_partition function into geom_pc98_enc.c.
...
- Add encoding pc98_partition function.
2003-05-01 13:44:24 +00:00
marcel
d39162a421
Don't emulate a MBR by handling the MBR::type attribute. It is
...
not needed at all. The BSD class will attach to a GPT class without
it.
2003-05-01 01:51:28 +00:00
markm
6cc289554b
Fix some easy, global, lint warnings. In most cases, this means
...
making some local variables static. In a couple of cases, this means
removing an unused variable.
2003-04-30 12:57:40 +00:00
phk
a43e2a0d8e
Fix an obscure fencepost error in GBDE's sector mapping code:
...
For certain combinations of sectorsize, mediasize and random numbers
(used to define the mapping), a multisector read or write would ignore
some subset of the sectors past the first sector in the request because
those sectors would be mapped past the end of the parent device, and
normal "end of media" truncation would zap that part of the request.
Rev 1.19+1.20 of g_bde_work.c added the check which should have alerted
me to this happening. This commit maps the request correctly and
adds KASSERTS to make sure things stay inside the parent device.
This does not change the on-disk layout of GBDE, there is no need to
backup/restore.
2003-04-29 19:46:42 +00:00
phk
df12452858
Typo in last commit: Do not press xZZ to leave vi(1).
2003-04-29 19:38:55 +00:00
phk
46e72efe59
When a bio comes back from below with a zero error code, check that
...
it wrote the full length. The only case where this should be able
to happen is if we try to read/write past the end and the request
is truncated. We obviously should never try to do that, so this
code should never activate.
2003-04-29 19:37:36 +00:00
kan
9468fdaf14
Deprecate machine/limits.h in favor of new sys/limits.h.
...
Change all in-tree consumers to include <sys/limits.h>
Discussed on: standards@
Partially submitted by: Craig Rodrigues <rodrigc@attbi.com>
2003-04-29 13:36:06 +00:00
phk
647f79f459
I accidentally leaked this debugging tool in with my last commit.
...
Disable it with a direct warning.
2003-04-28 17:57:12 +00:00
phk
1b6624b999
Rename g_bde_get_sector() to g_bde_get_keysector() and pick up the
...
offset from the work packet.
2003-04-28 06:38:31 +00:00
phk
1adaf3d22c
Only attempt total cache-purge once in case of failure.
2003-04-28 06:19:41 +00:00
phk
5299f69145
Better criteria for skipping disk reading BIO_READ work packets.
2003-04-28 06:15:39 +00:00
phk
600f5cf898
Explicitly set the sector state to JUNK if we encounter a read-error.
2003-04-28 06:10:35 +00:00
phk
cd6350ca83
Bail as soon as the first write request has failed, there is no point
...
in trying the second write if the first one went nowhere.
2003-04-26 21:40:26 +00:00
phk
da80cf8fcc
Appearantly UFS no longer issues BIO_DELETE requests correctly, and
...
consequently trashes data. Disable BIO_DELETE handling in gbde for now.
2003-04-26 21:39:33 +00:00
phk
876e7e7a6d
Do an explicit retry after we have dumped the cache, rather than a
...
(potential) tail recursion.
2003-04-25 21:43:11 +00:00
phk
82e4f296ff
If on a BIO_READ request, we failed to allocate the bio for reading
...
our key-sector, we would end up returning the read without an error,
despite the fact that the data was not correctly decrypted.
This would result in data corruption on read, but intact data still
on the media.
2003-04-25 21:28:28 +00:00
phk
017246b9b8
Fix a problem and slightly improve the ENOMEM handling:
...
Give up the entire bio as soon as we detect a problem.
When we detect a problem, give up the bio by contributing the
remainder with ENOMEM, rather than kicking the bio back right
away.
If we failed on a non-first iteration we previously could end up
modifying fields in the bio after we delivered it. This could
account for memory corruption (none directly reported) on machines
with GBDE.
2003-04-25 21:20:57 +00:00
phk
e2ee68d54b
Don't count a sector in the cache unless we manage to create it.
2003-04-25 20:56:27 +00:00
phk
b2fdd2cc0f
Rename g_bde_release_sector() to g_bde_release_keysector() and pick up
...
the sector from the work item.
2003-04-25 20:35:34 +00:00
phk
5b6422dcef
Rename g_bde_read_sector() to g_bde_read_keysector() pick up the offset
...
in the work structure.
2003-04-25 20:16:59 +00:00
phk
ffd04bfbdd
Introduce a g_waitfor_event() function which posts an event and waits for
...
it to be run (or cancelled) and use this instead of home-rolled versions.
2003-04-23 21:28:27 +00:00
phk
7a7d406136
More of the event stuff can now be private to geom_event.c
2003-04-23 20:54:42 +00:00
phk
3bbfe9f43b
Rename g_call_me() to g_post_event(), and give it a flag
...
argument to determine if we can M_WAITOK in malloc.
2003-04-23 20:46:12 +00:00
phk
b4c26d2e1a
Remove the now unused hardcoded g_post_event() event support.
2003-04-23 20:25:33 +00:00
phk
7c462ceb2b
Turn EV_NEW_PROVIDER into a g_call_me() event.
2003-04-23 20:16:13 +00:00
phk
67a31a6107
Convert EV_SPOILED event to use g_call_me().
2003-04-23 20:06:38 +00:00
phk
16bcc257a6
Turn the hardwired NEW_CLASS event into a g_call_me() event.
2003-04-23 19:34:38 +00:00
phk
51e68a1f27
Move the shutdown eventhandler stuff to a more logical place.
2003-04-23 19:15:27 +00:00