| Age | Commit message (Collapse) | Author |
|
in disklabel when the latter is just clamped to the maximum.
|
|
lower 32bit of the 64bit number.
|
|
All have been set to "nodiscard"; some should get a real implementation.
|
|
I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.
|
|
any file system. Change all consumers of dk_lookup() to get the
device from "v_rdev" instead of VOP_GETATTR() as specfs does not
support VOP_GETATTR(). Devices obtained with dk_lookup() will no
longer disappear on forced unmounts.
Fix for PR kern/48849 (root mirror raid fails on shutdown)
Welcome to 6.99.44
|
|
it was before, and explain why we do things this way.
|
|
Reverting to "fcfs" nearly doubles the speed of sequential reads from
a level-1 RAID (previously using the default of "priocscan").
Needs pullup via patch for netbsd-6.
|
|
as not to break existing configurations.
|
|
1. Don't call cpu_rootconf() just to setup booted_device. Calling cpu_rootconf()
multiple times can have nasty side effects (aside from printing root device
twice). Instead for those who have it, call cpu_bootconf() which is intended
just for that.
2. If the raid component devices are wedges, then matching the booted_device
against the wedges will never work; match instead on the wedges parent.
XXX: perhaps should keep looking if the parent is a wedge too?
|
|
we booted from one of the components of the root raid set. This allows
us to boot from other media, without forcing the found raid to always
be root. Allow the old behavior with RAIDFRAME_FORCE_ROOT.
XXX: cpu_rootconf() is called twice now, which prints the booted device
message twice. Perhaps we can remember that cpu_rootconf has been called
and avoid calling it twice to avoid that.
|
|
|
|
|
|
|
|
designated initializers.
I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
|
|
|
|
|
|
avoid a case where we get undeclared variables.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
so the compiler does not warn about unused things.
|
|
- centralize the geometry -> plist code so that we don't have
n useless copies of it.
|
|
XXX: Fix this properly by using the memory allocated from the autoconf
subsystem and use raidput in all the places needed.
|
|
raidPtr.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
failed, and a "raidctl -C" was run afterwards, triggering mutex locking
issues. fix this by moving alloc and destroy of mutex/condvar for a
raid device into separate functions, and call the destroy function from
the DO_RAID_FAIL() macro.
probably needs a netbsd-6 pullup. sigh.
|
|
different buffer queue strategies.
Initialize raid sets to use the default buffer queue strategy for the given
architecture, rather than forcing raidframe to use fcfs in all cases.
This should cause raidframe to use the same buffer queue strategy as the
underlying disks.
On I386, I see performance enhancements of between 14 and 16% with raid5
sets with no other change.
See http://mail-index.NetBSD.org/tech-kern/2012/08/08/msg013758.html
for a discussion of this issue.
|
|
from Greg Oster
|
|
that corresponds to partition a. Is there a better way?
|
|
spares. While here, observe that we were actually doing one more
stripe than we thought we were, and correct that too (it didn't matter
for non-RAID5_RS, but it definitely does for RAID5_RS). Add some
bounds-checking at the beginning to handle the case where the number
of stripes in the set is smaller than the sliding reconstruction window.
XXX: this problem likely needs to be fixed for PARITY_DECLUSTERING too.
|
|
is invalid for RAID5_RS.
|
|
This change causes components on raw disks, as opposed to components inside
partitions or wedges, to be autoconfigured if the raid set is configured
for autoconfiguration.
Approved by oster@ and mrg@ for submission after the NetBSD-6 tag. I've
been running these changes in production at my day job for over a year
without a problem.
See http://mail-index.NetBSD.org/tech-kern/2010/11/09/msg009167.html
for the original discussion of this patch and for a version of this patch
that works with NetBSD-5.x systems.
|
|
instead of setting it in code, so it can easily be checked and changed in an
on-disk kernel with gdb. Use a separate raidautoconfigdone variable to keep
track of whether raid configuration has actually occurred.
|
|
a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
|
|
|
|
|
|
|
|
|
|
or ram.
|