Poul-Henning Kamp
ce67c955ca
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
Poul-Henning Kamp
15649213a6
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
Poul-Henning Kamp
82b53b8dc8
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
Poul-Henning Kamp
8cd1535a24
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
Poul-Henning Kamp
d3a1a13766
Do not mandate that slicers have a private ->start(), they may not need
...
one. KASSERT() that they have one if G_SLICE_HOT_START is used.
2003-04-22 21:19:17 +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
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
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
4eba52a2d2
Remove all references to BIO_SETATTR. We will not be using it.
2003-04-03 19:19:36 +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
Warner Losh
a163d034fa
Back out M_* changes, per decision of the TRB.
...
Approved by: trb
2003-02-19 05:47:46 +00:00
Poul-Henning Kamp
8028f16b1b
Don't divide by zero if there is no stripewidth specified.
2003-02-11 15:23:41 +00:00
Poul-Henning Kamp
8a63edc3a1
Better names for struct disk elements: d_maxsize, d_stripeoffset
...
and d_stripesisze;
Introduce si_stripesize and si_stripeoffset in struct cdev so we
can make the visible to clustering code.
Add stripesize and stripeoffset to providers.
DTRT with stripesize and stripeoffset in various places in GEOM.
2003-02-11 14:57:34 +00:00
Poul-Henning Kamp
faa7b8b96e
Propagate G_PF_CANDELETE to our own providers from the provider we attach to.
2003-02-11 12:36:33 +00:00
Alfred Perlstein
44956c9863
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.
...
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
2003-01-21 08:56:16 +00:00
Poul-Henning Kamp
9eebd265b9
Add a check for negative offset locations and return EINVAL for them.
2002-12-17 21:31:58 +00:00
Poul-Henning Kamp
a1d5f791fa
Get rid of g_slice_addslice() and use g_slice_config() instead.
...
Tested with: i386 + src/tools/regression/geom
2002-12-16 23:08:48 +00:00
Poul-Henning Kamp
0f9d3dba37
Constification and some s/int/u_int/ changes.
2002-12-16 22:33:27 +00:00
Poul-Henning Kamp
821a4d01ea
Don't interpret the hotspots relative to all slices on a slicer, but
...
relative to the parent device.
2002-12-13 21:31:13 +00:00
Poul-Henning Kamp
188321b737
Add a simplified version of the hot-spot code to enable us to protect
...
in-band disklabels from in-band vandalism.
Approve by: re
2002-12-02 19:59:25 +00:00
Poul-Henning Kamp
534de7e11d
Remember to update the providers idea of its size when we reconfigure
...
a slice child.
Approved by: re
2002-11-20 20:12:52 +00:00
Poul-Henning Kamp
d518e53936
Add the remaning part of the new libdisk interaction.
...
WARNING: This is not a published interface, it is a stopgap measure for
WARNING: libdisk so we can get 5.0-R out of the door.
Sponsored by: DARPA & NAI Labs
2002-10-28 22:43:54 +00:00
Poul-Henning Kamp
3d5500fc51
Reduce the GEOM verbosity under bootverbose to something more sufferable.
...
This is not quite the set of information I would want, but the tree where
I have the "correct" version is messed up with conflicts.
Sponsored by: DARPA & NAI Labs.
2002-10-25 20:09:45 +00:00
Poul-Henning Kamp
3f12caa180
Now that the sectorsize and mediasize are properties of the provider,
...
don't take the detour over the I/O path to discover them using getattr(),
we can just pick them out directly.
Do note though, that for now they are only valid after the first open
of the underlying disk device due compatibility with the old disk_create()
API. This will change in the future so they will always be valid.
Sponsored by: DARPA & NAI Labs.
2002-10-20 20:28:24 +00:00
Poul-Henning Kamp
48444d6262
Make the sectorsize a property of providers so we can include it in the XML
...
output.
Sponsored by: DARPA & NAI Labs
2002-10-20 19:18:07 +00:00
Poul-Henning Kamp
14ac6812b9
Use %jd instead of %lld now that we have it.
2002-10-20 18:48:12 +00:00
Poul-Henning Kamp
b775674772
Remove a bogus local variable.
...
Sponsored by: DARPA & NAI Labs.
2002-10-14 21:22:23 +00:00
Poul-Henning Kamp
72840432e0
Retire g_io_fail() and let g_io_deliver() take an error argument instead.
...
Sponsored by: DARPA & NAI Labs.
2002-09-30 08:54:46 +00:00
Poul-Henning Kamp
4ae677009e
Style, whitespace and lint fixes.
...
Sponsored by: DARPA & NAI Labs.
2002-09-28 11:57:20 +00:00
Poul-Henning Kamp
852f392456
First confirmed kill from my Flexelint license: Check return value
...
of g_clone_bio().
Detected by: http://www.gimpel.com/html/flex.htm
Sponsored by: DARPA & NAI Labs.
2002-09-28 08:16:50 +00:00
Poul-Henning Kamp
5a6baf5457
Add the new g_slice_config() call, which can add/delete/change a slice,
...
with support for trying, doing and forcing.
This will eventually replace g_slice_addslice() which gets changed from
grabbing topology to requing it in this commit as well.
Sponsored by: DARPA & NAI Labs.
2002-09-27 21:37:11 +00:00
Poul-Henning Kamp
beece77a2d
Add checks for g_clone_bio() returning NULL, it will be possible RSN.
...
Sponsored by: DARPA & NAI Labs.
2002-09-27 20:47:23 +00:00
Poul-Henning Kamp
503abe4540
Improve some on the naming.
...
Submitted by: iedowse
2002-06-09 10:57:34 +00:00
Poul-Henning Kamp
faefe44cff
Include needed #include for regression tests.
...
Sponsored by: DARPA & NAI Labs.
2002-05-19 18:59:39 +00:00
Poul-Henning Kamp
53705e35ae
Implement the GEOMGETCONF ioctl which returns vital stats for the
...
current device in XML in an sbuf.
Sponsored by: DARPA & NAI Labs
2002-04-23 19:54:02 +00:00
Poul-Henning Kamp
2285b09474
All in a days work: make a function static.
2002-04-23 19:03:03 +00:00
Poul-Henning Kamp
7d590cc46f
Introduce some serious paranoia to try to catch a memory overwrite problem
...
as early as possible.
Sponsored by: DARPA & NAI Labs
2002-04-23 11:48:45 +00:00
Poul-Henning Kamp
95c24b31df
Make kernel dumps work with GEOM.
...
Notice that if the device on which the dump is set is destroyed for
any reason, the dump setting is lost. This in particular will
happen in the case of spoilage. For instance if you set dump on
ad0s1b and open ad0 for writing, ad0s* will be spoilt and the dump
setting lost. See geom(4) for more about spoiling.
Sponsored by: DARPA & NAI Labs.
2002-04-19 09:24:12 +00:00
Poul-Henning Kamp
1bdb20a68e
Implement DIOCGFRONTSTUFF ioctl which reports how many bytes from the start
...
of the device magic stuff might occupy.
Sponsored by: DARPA & NAI Labs.
2002-04-09 15:43:32 +00:00
Poul-Henning Kamp
2fccec19e9
Centralize EOF handling and improve access controls for bio scheduling.
...
Sponsored by: DARPA & NAI Labs
2002-04-04 09:58:20 +00:00
Poul-Henning Kamp
07d77fc610
Move access and orphan member functions from class to geom.
...
Sponsored by: DARPA & NAI Labs
2002-04-04 09:54:13 +00:00
Poul-Henning Kamp
4c0a424c67
In the absense of any smarter way to do this, cast various printf
...
arguments to silence printf format warnings.
2002-03-28 10:09:24 +00:00
Poul-Henning Kamp
b1876192f0
Eliminate some thread pointers which do not make sense anymore.
...
Split private parts of geom.h into geom_int.h. The latter should
never be included in class implemtations.
2002-03-26 22:07:38 +00:00
Poul-Henning Kamp
e805e8f0e8
Cave in to tradition and rename "methods" to "classes".
2002-03-26 21:40:06 +00:00
Poul-Henning Kamp
c4269c63a2
Forgot to remove the old g_malloc() call when I split it.
...
Spotted by: dima
2002-03-17 07:00:39 +00:00
Poul-Henning Kamp
19f1d16d37
Try to get used to architectures which are picky about alignment.
2002-03-15 21:41:41 +00:00
Poul-Henning Kamp
dd84a43c1d
First commit of the GEOM subsystem to make it easier for people to
...
test and play with this.
This is not yet production quality and should be run only on dedicated
test boxes.
For people who want to develop transformations for GEOM there exist a
set of shims to run geom in userland (ask phk@freebsd.org ).
Reports of all kinds to: phk@freebsd.org
Please include in report:
dmesg
sysctl debug.geomdot
sysctl debug.geomconf
Known significant limitations:
no kernel dump facility.
ioctls severely restricted.
Sponsored by: DARPA, NAI Labs
2002-03-11 21:42:35 +00:00