| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
| |
uma(9) will be used for memory allocation.
In case of problems or tracking bugs, there are more useful tools for malloc(9)
debugging than for uma(9) debugging, like memguard(9) and redzone(9).
MFC after: 1 week
Notes:
svn path=/head/; revision=160203
|
| |
|
|
|
|
|
|
| |
Reported by: Bradley W. Dutton <brad-fbsd-stable@duttonbros.com>
MFC after: 3 days
Notes:
svn path=/head/; revision=160155
|
| |
|
|
|
|
|
|
|
| |
Reported by: Ulrich Spoerlein <uspoerlein@gmail.com>
PR: kern/98093
MFC after: 1 week
Notes:
svn path=/head/; revision=160081
|
| |
|
|
|
|
|
|
|
|
|
|
| |
two places where g_io_request() is called. g_io_request() can free bio
structure so we can't reference it after and G_RAID3_FOREACH_BIO() macro
was doing this.
Found by: Coverity Prevent analysis tool (with my new models)
MFC after: 1 day
Notes:
svn path=/head/; revision=158290
|
| |
|
|
|
|
|
|
|
|
| |
g_raid3_bump_syncid().
Reported by: Bradley W. Dutton <brad-fbsd-stable@duttonbros.com>
MFC after: 1 day
Notes:
svn path=/head/; revision=158195
|
| |
|
|
|
|
|
|
|
|
|
| |
- Prevent possible live-lock in case of memory problems by freeing
already completed requests first.
Reported and tested by: markus, Bradley W. Dutton <brad-fbsd-stable@duttonbros.com>
MFC after: 1 day
Notes:
svn path=/head/; revision=158117
|
| |
|
|
|
|
|
|
|
|
| |
- Comment possible event miss, which isn't critical, but probably can be
fixed by replacing the event lock usage with the queue lock.
MFC after: 2 weeks
Notes:
svn path=/head/; revision=158116
|
| |
|
|
|
|
|
|
|
| |
with this change there is even no theoretical race.
MFC after: 2 weeks
Notes:
svn path=/head/; revision=158114
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
stored in metadata instead of an offset in single disk.
After reboot/crash synchronization process started from a wrong offset
skipping (not synchronizing) part of the component which can lead to data
corrutpion (when synchronization process was interrupted on initial
synchronization) or other strange situations like 'graid3 status' showing
value more than 100%.
Reported, reviewed and tested by: ru
Reported by: Dmitry Morozovsky <marck@rinet.ru>
MFC after: 1 day
Notes:
svn path=/head/; revision=157838
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
which means that devices will be destroyed on last close.
This fixes destruction order problems when, eg. RAID3 array is build on
top of RAID1 arrays.
Requested, reviewed and tested by: ru
MFC after: 2 weeks
Notes:
svn path=/head/; revision=157630
|
| |
|
|
|
|
|
|
|
|
| |
means unlimited.
Reported by: ru
MFC after: 3 days
Notes:
svn path=/head/; revision=157222
|
| |
|
|
|
|
|
|
|
| |
and is 0 by accident.
MFC after: 3 days
Notes:
svn path=/head/; revision=157134
|
| |
|
|
| |
Notes:
svn path=/head/; revision=156878
|
| |
|
|
|
|
|
|
|
| |
keeps disks very busy, but makes system much more responsive.
While here, kill extra space.
Notes:
svn path=/head/; revision=156876
|
| |
|
|
| |
Notes:
svn path=/head/; revision=156684
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Submitted by: green
- Speed up synchronization process by using configurable number of I/O
requests in parallel.
+ Add kern.geom.raid3.sync_requests tunable which defines how many parallel
I/O requests should be used.
+ Retire kern.geom.raid3.reqs_per_sync and kern.geom.raid3.syncs_per_sec
sysctls.
- Fix race between regular and synchronization requests.
- Reimplement raid3's data synchronization - do not use the topology lock
for this purpose, as it may case deadlocks.
- Stop synchronization from pre-sync hook.
- Fix some other minor issues.
Tested by: Mike Tancsa <mike@sentex.net>
MFC after: 3 days
Notes:
svn path=/head/; revision=156612
|
| |
|
|
|
|
|
|
|
|
|
| |
means that old problem was triggered (when two providers end at the same
offset, eg. ad0 and ad0s1 and the wrong was is picked up by gmirror/graid3).
Reported by: Michal Suszko <dry@dry.pl>
MFC after: 3 days
Notes:
svn path=/head/; revision=156527
|
| |
|
|
|
|
|
|
| |
Found and fixed by: Vsevolod Lobko <seva@ip.net.ua>
MFC after: 3 days
Notes:
svn path=/head/; revision=155906
|
| |
|
|
|
|
|
| |
MFC after: 3 days
Notes:
svn path=/head/; revision=155582
|
| |
|
|
|
|
|
|
| |
Suggested by: ru
MFC after: 3 days
Notes:
svn path=/head/; revision=155581
|
| |
|
|
|
|
|
| |
MFC after: 3 days
Notes:
svn path=/head/; revision=155560
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to preserve currect behaviour). When set to 0, components are not
disconnected - graid3 will try to still use them (only first error will
be logged). This is helpful when we have two broken components, but in
different places, so actually all data is available.
Such buggy component will be visible in 'graid3 list' output with flag
BROKEN.
- Never disconnect the last valid component. If we detect errors there we
will just pass them up. This wasn't reasonable to deny access to the
whole provider because of one broken sector.
Prodded by: ru
MFC after: 3 days
Notes:
svn path=/head/; revision=155546
|
| |
|
|
|
|
|
| |
MFC after: 3 days
Notes:
svn path=/head/; revision=155544
|
| |
|
|
|
|
|
|
|
|
|
| |
kern.geom.raid3.idletime seconds. Write, not any requests.
Mark array as clean immediatelly on last write close.
Prodded by: ru
MFC after: 3 days
Notes:
svn path=/head/; revision=155540
|
| |
|
|
| |
Notes:
svn path=/head/; revision=155174
|
| |
|
|
|
|
|
|
|
|
| |
16kB elements limit wasn't set at all.
Submitted by: Vsevolod Lobko <seva@ip.net.ua>
MFC after: 3 days
Notes:
svn path=/head/; revision=155070
|
| |
|
|
|
|
|
|
|
| |
Found by: Coverity Prevent(tm)
Coverity ID: CID105
MFC after: 3 days
Notes:
svn path=/head/; revision=154539
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=152967
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
Notes:
svn path=/head/; revision=151897
|
| |
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=151822
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=148440
|
| |
|
|
|
|
|
| |
Noticed by: Coverity Prevent analysis tool
Notes:
svn path=/head/; revision=146118
|
| |
|
|
|
|
|
| |
Noticed by: Coverity Prevent analysis tool
Notes:
svn path=/head/; revision=146117
|
| |
|
|
| |
Notes:
svn path=/head/; revision=144144
|
| |
|
|
|
|
|
|
| |
Submitted by: sam
Found by: Coverity Prevent analysis tool
Notes:
svn path=/head/; revision=144142
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=142727
|
| |
|
|
| |
Notes:
svn path=/head/; revision=141994
|
| |
|
|
|
|
|
| |
MFC after: 3 days
Notes:
svn path=/head/; revision=139940
|
| |
|
|
|
|
|
|
|
|
|
| |
(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
Notes:
svn path=/head/; revision=139671
|
| |
|
|
| |
Notes:
svn path=/head/; revision=139622
|
| |
|
|
|
|
|
|
| |
set a thread's priority via sched_prio() when that is the desired action.
The schedulers will start managing td_base_pri internally shortly.
Notes:
svn path=/head/; revision=139451
|
| |
|
|
| |
Notes:
svn path=/head/; revision=139379
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Notes:
svn path=/head/; revision=139295
|
| |
|
|
|
|
|
|
|
| |
that device cannot be destroyed immediately, under debug=1.
Suggested by: simon
Notes:
svn path=/head/; revision=139146
|
| |
|
|
|
|
|
| |
For more details check src/sys/geom/mirror/g_mirror.c rev.1.47,1.48,1.49,1.50.
Notes:
svn path=/head/; revision=139144
|
| |
|
|
| |
Notes:
svn path=/head/; revision=138801
|
| |
|
|
|
|
|
|
|
|
|
| |
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
Notes:
svn path=/head/; revision=138374
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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)
Notes:
svn path=/head/; revision=137490
|
| |
|
|
|
|
|
|
| |
DIRTY flag can be removed in idle process. Use consumer's acw field
instead to avoid opening consumer twice.
Notes:
svn path=/head/; revision=137487
|
| |
|
|
|
|
|
|
|
| |
check if provider is open for writing.
This fixes panic when device is open only for writing and we send write
request.
Notes:
svn path=/head/; revision=137485
|