| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
PR: kern/160562
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
| |
as clean on shutdown and move that action from shutdown_pre_sync stage to
shutdown_post_sync to avoid extra flapping.
ZFS tends to not close devices on shutdown, that doesn't allow GEOM RAID
to shutdown gracefully. To handle that, mark volume as clean just when
shutdown time comes and there are no active writes.
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bytes syncronized.
The rationale behind this is the following: for large disks the
percent synchronisation counter ticks too seldom, and monitoring
software (as well as human operator) can't tell whether
synchronisation goes on or one of disks got stuck. On an idle
server one can look into gstat and see whether synchronisation goes
on or not, but on a busy server that won't work. Also, new value
monitored can be differentiated obtaining the synchronisation speed
quite precisely.
Submitted by: Konstantin Kukushkin <dark ramtel.ru>
Reviewed by: pjd
|
|
|
|
|
|
| |
The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.
|
|
|
|
| |
Reviewed by: pjd
|
|
|
|
|
| |
ignore adX/adaY difference in both directions to simplify migration to
the CAM-based ATA or back.
|
|
|
|
|
|
|
|
|
|
|
| |
No FreeBSD version bump, the userland application to query the features will
be committed last and can serve as an indication of the availablility if
needed.
Sponsored by: Google Summer of Code 2010
Submitted by: kibab
Reviewed by: silence on geom@ during 2 weeks
X-MFC after: to be determined in last commit with code from this project
|
|
|
|
|
|
|
|
| |
sector size from user-specified block size, report to user about
big blocksize.
PR: kern/147851
MFC after: 1 week
|
| |
|
| |
|
|
|
|
|
| |
underlying provider's stripe, multiplied by number of data disks in array,
due to transformation done, as array stripe.
|
|
|
|
| |
then maximal prepared UMA zone size. This fixes crash with MAXPHYS > 128K.
|
|
|
|
|
|
|
| |
The geom and CAM changes for root_hold are the wrong solution for USB design
quirks.
Requested by: scottl
|
|
|
|
| |
in situations where sleeping isnt allowed.
|
|
|
|
|
|
|
|
|
|
|
| |
to kproc_xxx as they actually make whole processes.
Thos makes way for us to add REAL kthread_create() and friends
that actually make theads. it turns out that most of these
calls actually end up being moved back to the thread version
when it's added. but we need to make this cosmetic change first.
I'd LOVE to do this rename in 7.0 so that we can eventually MFC the
new kthread_xxx() calls.
|
|
|
|
|
|
|
|
|
|
|
| |
- Use thread_lock() rather than sched_lock for per-thread scheduling
sychronization.
- Use the per-process spinlock rather than the sched_lock for per-process
scheduling synchronization.
Tested by: kris, current@
Tested on: i386, amd64, ULE, 4BSD, libthr, libkse, PREEMPTION, etc.
Discussed with: kris, attilio, kmacy, jhb, julian, bde (small parts each)
|
|
|
|
|
|
| |
gmirror and graid3 in a way that it is not resynchronized after a
power failure or system crash.
It is safe when gjournal is running on top of gmirror/graid3.
|
| |
|
|
|
|
| |
Sponsored by: home.pl
|
|
|
|
| |
MFC after: 1 week
|
| |
|
| |
|
|
|
|
|
| |
Approved by: phk
MFC after: 3 days
|
|
|
|
|
|
|
|
| |
request can still have bio_to set to sc_provider (this is READ part of a
synchronization request) and in this case g_{mirror,raid3}_sync() wasn't
called as it should be.
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
add count of active and total components to the launched line so you can
see at a glance if your mirror/raid3 is complete...
now:
GEOM_MIRROR: Device mirror/sam launched (2/2).
Reviewed by: pjd
|
|
|
|
|
|
|
| |
function, but also a request to us, in which case checking bio_cflags
is wrong, because the class above us is controling it, not we.
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
This change affects documentation and comments only,
no real code involved.
PR: misc/101245
Submitted by: Darren Pilgrim <darren pilgrim bitfreak org>
Tested by: md5(1)
MFC after: 1 week
|
|
|
|
| |
Pointed out by: Maciej Sobczak
|
|
|
|
| |
MFC after: 3 days
|
|
|
|
| |
MFC after: 1 week
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Reported by: Bradley W. Dutton <brad-fbsd-stable@duttonbros.com>
MFC after: 3 days
|
|
|
|
|
|
| |
Reported by: Ulrich Spoerlein <uspoerlein@gmail.com>
PR: kern/98093
MFC after: 1 week
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
g_raid3_bump_syncid().
Reported by: Bradley W. Dutton <brad-fbsd-stable@duttonbros.com>
MFC after: 1 day
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
| |
with this change there is even no theoretical race.
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
means unlimited.
Reported by: ru
MFC after: 3 days
|
|
|
|
|
|
| |
and is 0 by accident.
MFC after: 3 days
|
| |
|
|
|
|
|
|
| |
keeps disks very busy, but makes system much more responsive.
While here, kill extra space.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Found and fixed by: Vsevolod Lobko <seva@ip.net.ua>
MFC after: 3 days
|
|
|
|
| |
MFC after: 3 days
|
|
|
|
|
| |
Suggested by: ru
MFC after: 3 days
|