| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
16kB elements limit wasn't set at all.
Submitted by: Vsevolod Lobko <seva@ip.net.ua>
MFC after: 3 days
|
|
|
|
|
|
| |
Found by: Coverity Prevent(tm)
Coverity ID: CID105
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
| |
o The only indication of error condition is NULL value returned by
the function;
o value pointed to by error argument is undefined in the case when
operation completes successfully.
Discussed with: phk
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Prefer '_' to ' ', as it results in more easily parsed results in
memory monitoring tools such as vmstat.
- Remove punctuation that is incompatible with using memory type names
as file names, such as '/' characters.
- Disambiguate some collisions by adding subsystem prefixes to some
memory types.
- Generally prefer lower case to upper case.
- If the same type is defined in multiple architecture directories,
attempt to use the same name in additional cases.
Not all instances were caught in this change, so more work is required to
finish this conversion. Similar changes are required for UMA zone names.
|
|
|
|
|
|
|
|
| |
memory for request.
I was sure graid3 should handle such situations well, but green@ reported
it is not and we want to fix it before 6.0.
Submitted by: green
|
|
|
|
|
|
|
|
|
| |
Actually, one cannot setup root file system on RAID3 device, but when
other file system exist in /etc/fstab which are placed on RAID3 device,
boot process will be interrupted when these devices are missing.
MFC after: 3 days
X-MFC-note: MFC only to RELENG_6, as RELENG_5 doesn't have root_mount KPI.
|
|
|
|
| |
Noticed by: Coverity Prevent analysis tool
|
|
|
|
| |
Noticed by: Coverity Prevent analysis tool
|
| |
|
|
|
|
|
| |
Submitted by: sam
Found by: Coverity Prevent analysis tool
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
shared-last-sector problem.
After this change, even if there is more than one provider with the same
last sector, the proper one will be chosen based on its size.
It still doesn't fix the 'c' partition problem (when da0s1 can be confused
with da0s1c) and situation when 'a' partition starts at offset 0
(then da0s1a can be confused with da0s1 and da0s1c). One can use '-h'
option there, when creating device or avoid sharing last sector.
Actually, when providers share the same last sector and their size is equal,
they provide exactly the same data, so the name (da0s1, da0s1a, da0s1c)
isn't important at all.
- Provide backward compatibility.
- Update copyright's year.
MFC after: 1 week
|
| |
|
|
|
|
| |
MFC after: 3 days
|
|
|
|
|
|
|
|
| |
(we ignore it).
- Remove code used for handling spoil events, as spoiling is not possible
anymore, because we keep consumers open for writing all the time.
MFC after: 4 days
|
| |
|
|
|
|
|
| |
set a thread's priority via sched_prio() when that is the desired action.
The schedulers will start managing td_base_pri internally shortly.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After this change, when component is disconnected because of an I/O error,
it will not be connected and synchronized automatically, it will be logged
as broken and skipped. Autosynchronization can occur, when component is
disconnected (on orphan event) and connected again - there were no I/O
error, so there is no need to not connected the component, but when there were
writes while it wasn't connected, it will be synchronized.
This fix cases, when component is disconnected because of I/O error and can be
connected again and again.
- Bump version number.
- Implement backward compatibility mechanism. After this change when metadata in
old version is detected, it is automatically upgraded to the new (current)
version.
|
|
|
|
|
|
| |
that device cannot be destroyed immediately, under debug=1.
Suggested by: simon
|
|
|
|
| |
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
[...]
|
| |
|
| |
|
| |
|
| |
|
| |
|