Poul-Henning Kamp
2c30da600e
Add "CONFIG_GEOM" operation to the OAM API.
2003-04-22 21:00:49 +00:00
Poul-Henning Kamp
70b4ddbb09
Collapse meta arguments into regular arguments, the distinction is
...
more trouble than it is worth.
2003-04-22 19:42:05 +00:00
Poul-Henning Kamp
989afda211
Implement a hotspot for the sunlabel.
...
This means that you can no longer trash your opened partitions by writing to
the sunlabel through another partition. This is similar to the semantics
implemented for BSD labels.
2003-04-21 20:14:36 +00:00
Poul-Henning Kamp
666223979c
Update GEOM::SUN to use the decoding functions in geom_sunlabel_enc.c
...
and #defines from sys/sun_disklabel.h.
2003-04-21 19:54:11 +00:00
Poul-Henning Kamp
9bd6be665d
Use #defines from <sys/sun_disklabel.h> instead of private ones.
2003-04-21 19:42:36 +00:00
Poul-Henning Kamp
941a2f8cb5
Functions to encode and decode Sun Microsystems disk partitioning data
...
structures.
Mostly by: jake
2003-04-21 18:41:12 +00:00
Poul-Henning Kamp
7220a9e779
Make more of the "hotspot" stuff generic:
...
Give the class a way to specify the necessary action for read/delete/write:
ALLOW, DENY, START or CALL.
Update geom_bsd to use this.
2003-04-19 10:14:39 +00:00
Poul-Henning Kamp
183a45f65e
Create a dedicated structure for holding hotspot information rather than
...
using slice structures for it.
2003-04-19 10:00:22 +00:00
Poul-Henning Kamp
c72e7314c2
These two files fell off during my previous commit: put the encoding
...
decoding functions for struct disklabel in a separate .c file.
2003-04-17 08:41:08 +00:00
Poul-Henning Kamp
7715475960
More correct patch: Only call biofinish if we have not already sent
...
any children down the mesh.
2003-04-14 08:49:54 +00:00
Poul-Henning Kamp
2f912fc976
Call biofinish() also when we get a malloc() failure.
2003-04-14 08:08:17 +00:00
Poul-Henning Kamp
3924ad705e
Time has run from the "run GEOM in userland" harness, and the new regression
...
test is built to test GEOM as running in the kernel.
This commit is basically "unifdef -D_KERNEL" to remove the mainly #include
related code to support the userland-harness.
2003-04-13 09:02:06 +00:00
Poul-Henning Kamp
537d9274dc
If we hit access ahead of a spoil event, we should have negative
...
delta access-counts and proceed.
2003-04-12 17:04:34 +00:00
Poul-Henning Kamp
2b454c0ae5
Fix a bug which resulted in orphanization getting confused every now
...
and then.
2003-04-12 16:36:19 +00:00
Poul-Henning Kamp
5f5a9022b2
Retire the experimental bio_taskqueue(), it was not quite as usable as
...
hoped. It can be revived from here, should other drivers be able to
use it.
2003-04-12 09:13:01 +00:00
Poul-Henning Kamp
0d3e96e39c
Retire the "frontstuff" record keeping, it was no match for the
...
in-band meta-data of BSD labels and a more complex solution will be needed.
2003-04-12 08:41:26 +00:00
Poul-Henning Kamp
6e03422af0
Move the functions for encoding decoding struct dos_partition into
...
a separate .c file so they can be used from userland as well.
2003-04-12 08:34:40 +00:00
Poul-Henning Kamp
cf83284fe3
Only be verbose if (bootverbose)
2003-04-09 13:52:40 +00:00
Poul-Henning Kamp
551e52efb8
With the magic sequence checks removed this class is downright dangerous
...
to have in your kernel since it indiscriminately attaches to anything
it is offered with a range of bogus partitions.
Stop this from happening by rejecting any label with negative numbers in
it.
2003-04-09 13:08:36 +00:00
Poul-Henning Kamp
13ac082b26
Correctly split cyl/sects bytes when we print them.
2003-04-09 09:21:33 +00:00
Poul-Henning Kamp
2692cc08db
Style issue: use do {...} while(0); for multi-exit section.
2003-04-09 08:56:26 +00:00
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