| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
For more details check src/sys/geom/mirror/g_mirror.c rev.1.47,1.48,1.49,1.50.
|
| |
|
|
|
|
|
|
|
|
| |
because we know it then and we need it when inserting a component which
wasn't destroyed while device was running.
Reported by: Michael Handler <handler@grendel.net>
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
that the events queue is empty. In other case we're able to hit the race
where for example da0s1 is tasted by some other class, which means that
da0 is open with exclusive bit set, which means that we can't open da0
for writing if it is our component.
Reported by: Attila Nagy <bra@fsn.hu> (and somebody else sometime ago,
but I cannot find who it was)
|
|
|
|
|
| |
DIRTY flag can be removed in idle process. Use consumer's acw field
instead to avoid opening consumer twice.
|
|
|
|
|
|
| |
check if provider is open for writing.
This fixes panic when device is open only for writing and we send write
request.
|
| |
|
| |
|
|
|
|
|
|
| |
marking components as clean.
Pointed out by: scottl
|
|
|
|
| |
- Make kern.geom.raid3.timeout variable tunable.
|
|
|
|
|
|
| |
unmounted).
Suggested by: scottl
|
|
|
|
| |
- Remove unused #include.
|
|
|
|
|
| |
#define for this purpose.
No functional change.
|
|
|
|
| |
vfs.root.mountdelay by default.
|
|
|
|
|
|
|
|
|
| |
but it is possible:
1. Read data from good component for synchronization.
2. Write data to the same area.
3. Write synchronization data, which are now stale.
Found by: tegge (for gmirror)
|
|
|
|
|
|
|
|
|
| |
Actually, it can even cause some problems, because GEOM requires sectorsize
to be more than 0 on first access, not on provider creation, so we can skip
valid providers by doing this check here.
Reported by: Divacky Roman <xdivac02@stud.fit.vutbr.cz>
Sven Willenberger <sven@dmv.com>
|
| |
|
| |
|
|
|
|
| |
exactly the same value, but is shorter.
|
|
|
|
| |
Requested by: Michael Handler <handler@grendel.net>
|
|
|
|
| |
Reported by: Michael Handler <handler@grendel.net>
|
|
|
|
| |
Reported by: kuriyama
|
| |
|
|
|
|
|
|
|
|
| |
verification of regular data when device is in complete state.
On verification error, EIO error is returned for the bio and sysctl
kern.geom.raid3.stat.parity_mismatch is increased.
Suggested by: phk
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
as well, even if device is in complete state.
I observe 40% of speed-up with this option for random read operations,
but slowdown for sequential reads.
Basically, without this option reading from a RAID3 device built from 5
components (c0-c4) looks like this:
Request no. Used components
1 c0+c1+c2+c3
2 c0+c1+c2+c3
3 c0+c1+c2+c3
With the new feature:
Request no. Used components
1 c0+c1+c2+c3
2 (c1^c2^c3^c4)+c1+c2+c3
3 c0+(c0^c2^c3^c4)+c2+c3
4 c0+c1+(c0^c1^c3^c4)+c3
5 c0+c1+c2+(c0^c1^c2^c4)
6 c0+c1+c2+c3
[...]
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
transformation and graid3(8) userland utility, which can be used for
configuration. No manual page yet, sorry.
Hardware provided by: Daniel Seuffert
|