Poul-Henning Kamp
63f253709f
Retire the DIOCGMBR ioctl before anybody starts to use it.
2003-04-03 19:37:40 +00:00
Poul-Henning Kamp
4eba52a2d2
Remove all references to BIO_SETATTR. We will not be using it.
2003-04-03 19:19:36 +00:00
Poul-Henning Kamp
ab0ff32ea1
Update the initializer for GEOM_MBREXT, I overlooked it previously.
2003-04-03 19:05:03 +00:00
Poul-Henning Kamp
4c763c77dc
Add #define for DOSPTYP_PMBR, and use it.
2003-04-03 18:55:16 +00:00
Poul-Henning Kamp
76c4109ebb
#include <sys/endian.h> as needed.
2003-04-03 11:56:10 +00:00
Poul-Henning Kamp
4d3651f456
Remove geom_enc.c, a superset of these functions are now available in
...
<sys/endian.h>
2003-04-03 11:40:06 +00:00
Poul-Henning Kamp
d8cb8a5137
Use <sys/endian.h> instead of geom_enc.c for endianess-agnostification.
2003-04-03 11:36:53 +00:00
Poul-Henning Kamp
82db45a5af
Use sys/endian.h instead of geom_enc.c for endian-agnostfication.
2003-04-03 11:33:51 +00:00
Poul-Henning Kamp
68f156409e
Make sure we don't ignore error codes.
2003-04-03 11:19:24 +00:00
Poul-Henning Kamp
316aed030e
Add handling for cancelled events in the g_call_me() methods.
2003-04-02 21:10:04 +00:00
Poul-Henning Kamp
afcbcfaed0
Change events to have an array of "void *" references, and give the
...
event posting functions varargs to fill these.
Attribute g_call_me() to appropriate g_geom's where necessary.
Add a flag argument to g_call_me() methods which will be used to signal
cancellation of events in the future.
This commit should be a no-op.
2003-04-02 20:41:18 +00:00
Poul-Henning Kamp
8f6da0e4ac
Only orphan things if the open/close actually succeeded.
2003-04-02 13:10:40 +00:00
Poul-Henning Kamp
c7e1925c7c
Properly handle races between open/close and orphan.
...
KASSERT the race between close and strategy, it is an error in the upper
echelons if this happens,
Add XXX: comment explaining why the ioctl/orphan race is not closed.
2003-04-02 13:09:50 +00:00
Poul-Henning Kamp
4752f7570a
Include <geom/geom_disk.h> not <sys/disk.h>
2003-04-01 18:57:14 +00:00
Poul-Henning Kamp
891619a66d
Use bioq_flush() to drain a bio queue with a specific error code.
...
Retain the mistake of not updating the devstat API for now.
Spell bioq_disksort() consistently with the remaining bioq_*().
#include <geom/geom_disk.h> where this is more appropriate.
2003-04-01 15:06:26 +00:00
Poul-Henning Kamp
7c79beb3ce
Start to split the GEOM/diskdriver specific bits into geom/geom_disk.h
2003-04-01 13:19:14 +00:00
Poul-Henning Kamp
4a1e273c48
Remove the old config interface, the new OAM is sufficiently functional
...
now.
2003-04-01 07:33:56 +00:00
Poul-Henning Kamp
dfb99a70d8
Remove the old config interface now that the new OAM is functional.
2003-04-01 07:33:17 +00:00
Poul-Henning Kamp
afa2a5aab7
Remove some debugging in the new OAM[*] and add a debug flag for other
...
parts of it.
[*] I've been asked what "OAM" means: It's an acronym used in the
telecom industry, "Operations And Maintenance", and there it covers
anything from a single unlabeled led on the frontpanel the the full
nightmare of CMIP for SS7.
2003-03-31 18:35:37 +00:00
Poul-Henning Kamp
376ceb799f
Fix a bug in the ENOMEM pacing code which probably made it panic systems
...
after a lot of ENOMEM errors.
2003-03-29 22:34:37 +00:00
Poul-Henning Kamp
29c331bfaa
Add create_geom and destroy_geom methods.
2003-03-29 22:14:21 +00:00
Poul-Henning Kamp
63728c47e8
Run a revision on the OAM api.
...
Use prefix gctl_ systematically.
Add flag with access perms for each argument.
Add ro/rw versions of argument building functions.
General cleanup.
2003-03-27 14:35:00 +00:00
Poul-Henning Kamp
5e52756d9d
Check return value of g_call_me()
2003-03-27 14:32:52 +00:00
Poul-Henning Kamp
897af91bac
g_class_by_name() was unused too.
2003-03-25 09:11:17 +00:00
Poul-Henning Kamp
77b63fb4b1
Remove unuse g_insert_geom().
2003-03-25 09:07:35 +00:00
Poul-Henning Kamp
0b94902f81
Forward compatibility: NULL check the passed in meta argument.
2003-03-25 09:02:41 +00:00
Poul-Henning Kamp
c138fec0b5
Premptively change initializations of struct g_class to use C99
...
sparse struct initializations before we extend the struct with
new OAM related member functions.
2003-03-24 19:30:15 +00:00
Poul-Henning Kamp
d49d7ca591
Turn /dev/geom.ctl from a GEOM class into a plain character device driver
...
instead, it will never see a disk-I/O transaction, so this is a lot simpler.
2003-03-24 13:37:15 +00:00
Poul-Henning Kamp
fbf79df3b8
Save a lock: Grab the stall_events SX lock exclusively so it also serialize
...
OAM reqests.
2003-03-24 13:35:06 +00:00
Poul-Henning Kamp
dddc28bfe0
Introduce g_cancel_events() and use it a couple of places where it makes
...
sense.
2003-03-23 23:01:40 +00:00
Poul-Henning Kamp
d943f1b0b9
Introduce an SX lock which allows us to stall event processing
...
during OAM operations.
2003-03-23 21:58:09 +00:00
Poul-Henning Kamp
757ed3b591
I forgot the evil ioctl census scripts: #include <geom/geom_ctl.h>
2003-03-23 11:05:44 +00:00
Poul-Henning Kamp
3117e54484
Marshalling stuff for OAM API.
2003-03-23 10:16:14 +00:00
Poul-Henning Kamp
679c4aa68c
A note about which #include files may be used where.
2003-03-23 10:08:13 +00:00
Poul-Henning Kamp
62d03b91ec
Start leaking the AOM api into the tree.
2003-03-23 10:07:44 +00:00
Poul-Henning Kamp
7da1ebfd74
Mitigate deadlock situation pending a more complete solution.
2003-03-21 22:05:33 +00:00
Poul-Henning Kamp
e24cbd9017
Retire the GEOM private statistics code and use devstat instead.
2003-03-18 09:42:33 +00:00
Poul-Henning Kamp
b4b138c27f
Including <sys/stdint.h> is (almost?) universally only to be able to use
...
%j in printfs, so put a newsted include in <sys/systm.h> where the printf
prototype lives and save everybody else the trouble.
2003-03-18 08:45:25 +00:00
Poul-Henning Kamp
20d2026b4e
#ifdef notyet a bit of code which needs not yet committed refcounting to
...
work correctly.
2003-03-16 16:29:04 +00:00
Poul-Henning Kamp
81876757ec
Use devstat_{start,end}_transaction_bio().
...
Remember to set bio_resid correctly first.
2003-03-15 10:49:26 +00:00
Poul-Henning Kamp
e582990901
If we run out of consumers while orphaning them, and the provider's geom
...
is withering, destroy the provider when done.
This was exposed by the recent change to geom_dev's orphaning logic.
2003-03-10 23:41:41 +00:00
Poul-Henning Kamp
e60dce6b42
Fix yet another fallout of our M_* song and dance.
2003-03-10 23:34:12 +00:00
Poul-Henning Kamp
564632b081
Remove unneeded #include of geom_stats.h
2003-03-09 10:04:21 +00:00
Poul-Henning Kamp
f48b881942
Stamp out Danglish.
2003-03-09 10:02:31 +00:00
Poul-Henning Kamp
0e6be4723b
Don't use statistics counters to detect outstanding I/O.
2003-03-09 10:01:16 +00:00
Poul-Henning Kamp
c6ae9b5fd2
Don't abuse the statistics counters for detecting if we have outstanding
...
I/O requests, instead use the new dedicated fields in the consumer and
provider to track this.
2003-03-09 09:59:48 +00:00
Poul-Henning Kamp
0e082fcca2
Add u_int nstart, nend counters to consumer and providers so we will not
...
have to examine the stats structure to tell if we have outstanding I/O
requests.
Making them u_int improves the chance of atomic updates to them,
but risks roll-over. Since the only interesting property is if
they are equal or not, this is not an issue.
2003-03-09 09:58:36 +00:00
Poul-Henning Kamp
df6c9fe955
When a DEV class consumer is orphan'ed we need to wait for all the
...
outstanding requests to return before we unravel the mesh.
It is very important that the stuff below us plays nice and don't
overlook a couple of outstanding bio's, because until they remember
the geom event thread is blocked. At an expense in code here this
could be made more robust, but I actually _want_ a robust failure
in this case so any offending drivers can be fixed.
2003-03-09 09:28:45 +00:00
Poul-Henning Kamp
09f958046c
Allocate devstat structure with devstat_new_entry().
2003-03-08 20:00:11 +00:00
Poul-Henning Kamp
60794e0478
Centralize the devstat handling for all GEOM disk device drivers
...
in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h>
lines not needed and some biofinish() calls can be reduced to
biodone() again.
2003-03-08 08:01:31 +00:00