Lukas Ertl
4328802ce9
When attaching a consumer from a volume to a plex, check if the
...
volume already has a plex attached and adjust the access counts
of the new consumer accordingly.
2004-08-26 21:04:41 +00:00
Lukas Ertl
a3423d4c6f
Compare the addresses of two RAID5 work packets directly instead
...
of the addresses of their related bios when locking one out, since
they could share a bio and this could lead to parity corruption.
2004-08-23 17:50:18 +00:00
Lukas Ertl
c4bdc6fc32
Implement the possibility to remove drives.
2004-08-22 17:07:55 +00:00
Lukas Ertl
45d0fdcda9
Add forgotten format specifier in a KASSERT and shut up the compiler.
...
Submitted by: Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
2004-08-22 13:34:24 +00:00
Lukas Ertl
83bfcb1092
A volume can be up if it has a degraded RAID5 plex.
2004-08-19 12:03:27 +00:00
Lukas Ertl
9a8bd51965
Pretty print some informational messages.
2004-08-18 20:43:56 +00:00
Lukas Ertl
d30f29867e
Fix a stupid bug in the drive taste function: when checking if a
...
drive is known to the configuration check also if it already has a geom.
Without this check several needless geoms are created and valid
configuration data was overwritten.
This change obsoletes the need for a separate geom to taste an
offered provider and the consumer doesn't need to be opened with the
exclusive bit set.
2004-08-18 20:34:45 +00:00
Lukas Ertl
71fd4f60da
Make informational output look less like an accident.
2004-08-14 09:56:17 +00:00
Lukas Ertl
92f49a969d
If we kill the worklist thread of a RAID5 plex we can destroy
...
the worklist mutex at the same time, so move the mtx_destroy() call
to gv_kill_thread().
2004-08-10 20:51:48 +00:00
Lukas Ertl
ecffb8e64b
Lock the topology before calling gv_parse_config, not afterwards.
2004-08-10 20:15:12 +00:00
Poul-Henning Kamp
5721c9c76a
Tag all geom classes in the tree with a version number.
2004-08-08 07:57:53 +00:00
Lukas Ertl
4b017d0d93
Propagate size changes upwards.
2004-07-31 21:34:21 +00:00
Lukas Ertl
663e5a3311
Set the access counts of a subdisk correctly when attaching it
...
to a plex that already has subdisks.
2004-07-30 23:40:38 +00:00
Lukas Ertl
07c424cdaf
Shut up the compiler and temporarily '#if 0' gv_destroy_geom(),
...
until we need it again.
2004-07-29 11:32:09 +00:00
Lukas Ertl
d8a720f9ec
Save the vinum config back to disk after syncing two plexes.
2004-07-26 07:30:21 +00:00
Lukas Ertl
3242376072
There's a chance that the VINUMDRIVE class tastes before the
...
VINUM class, so let the VINUMDRIVE class parse the on-disk
configuration, too.
2004-07-25 23:01:09 +00:00
Lukas Ertl
c291a77678
Use a temporary geom when tasting vinumdrives and lock the 'real'
...
vinumdrive geom with an exclusive bit. This should fix the problem
when underlying partitions overlap (i.e. the 'a' partition is at
the same offset as the 'c' partition).
Ideas borrowed from pjd@, quite a bit of testing by
Matthias Schuendehuette <msch@snafu.de>.
2004-07-24 22:26:40 +00:00
Lukas Ertl
6db345b90e
Disable kldunloading of geom_vinum temporarily until I figured out
...
how to do it correctly.
2004-07-24 19:04:24 +00:00
Pawel Jakub Dawidek
1b39b2f671
g_clone_bio() can fail, be ready for this.
...
Approved by: le
2004-07-05 13:24:22 +00:00
Lukas Ertl
865897c9f1
Mark a plex as 'newborn' when it is created. This is used to indicate
...
that new RAID5 plexes need to be initialized first.
2004-06-25 18:04:33 +00:00
Christian S.J. Peron
d7af790b0d
Currently, if the drives specified for volume creation are
...
not active GEOM providers, it will result in a kernel panic.
If the GEOM provider or disk goes away before the volume
configuration data gets written to the disk, it will result
in another kernel panic.
o Make sure that the drives specified for volume creation
are active GEOM providers.
o When writing out volume configuration data to associated drives,
make sure that the GEOM provider is active, otherwise continue
to the next drive in the volume.
Approved by: le, bmilekic (mentor)
2004-06-24 02:40:34 +00:00
Lukas Ertl
3a1e11b485
Add a function to clean up RAID5 packets and use it when I/O has
...
finished or when building the complete packet fails.
2004-06-23 23:52:55 +00:00
Lukas Ertl
c3dba6d0e0
Remove two debugging printfs that are currently rather disturbing
...
than helpful.
2004-06-23 22:32:01 +00:00
Lukas Ertl
b950fbe67b
Accept "sd len 0" and auto-size the subdisk correctly.
...
Spotted by: csjp
2004-06-23 21:15:55 +00:00
Lukas Ertl
1b699be2e1
No need to free the softc, because it wasn't allocated.
2004-06-22 18:13:43 +00:00
Lukas Ertl
291cb0ac69
Don't sleep in the g_down path. More error checks to come.
2004-06-22 14:54:31 +00:00
Lukas Ertl
7f72de2d55
Clean up allocated ressources when destroying the main vinum geom.
2004-06-18 19:53:33 +00:00
Lukas Ertl
99b536d888
Handle dead disks in a somewhat sane way.
2004-06-16 14:41:04 +00:00
Lukas Ertl
da8f1aa53d
Fix several bugs related to subdisk drive_offset calculation.
2004-06-15 20:56:25 +00:00
Lukas Ertl
a6facf72b1
Don't free a VINUMDRIVE softc when it's orphaned or spoiled. All
...
allocated ressouces should be ultimately freed in gv_destroy_geom()
(when unloading the module and not earlier), but I need to look at this
more closely.
2004-06-14 17:12:32 +00:00
Lukas Ertl
1a9e260fd4
Correctly calculate subdisk offset in RAID5 plexes.
2004-06-14 17:06:55 +00:00
Lukas Ertl
73679edcc7
Add a first version of a GEOMified vinum.
2004-06-12 21:16:10 +00:00