summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
AgeCommit message (Collapse)Author
2014-10-11No longer warn about differences bewteen disk size and total sector countmlelstv
in disklabel when the latter is just clamped to the maximum.
2014-10-11clamp total number of sectors to UINT32_MAX instead of providing themlelstv
lower 32bit of the 64bit number.
2014-07-25Add d_discard to all struct cdevsw instances I could find.dholland
All have been set to "nodiscard"; some should get a real implementation.
2014-07-25Add d_discard to all struct bdevsw instances I could find.dholland
I've set them all to nodiscard. Some of them (wd, dk, vnd, ld, raidframe, maybe cgd) should be implemented for real.
2014-06-14Change dk_lookup() to return an anonymous vnode not associated withhannken
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
2014-05-12restore defaulting to the 'a' partition for booting with root on raid aschristos
it was before, and explain why we do things this way.
2014-05-08Revert default strategy change from 1.298 (which has since moved).jakllsch
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.
2014-04-03Add a "soft" root option, leaving the current default as "force root", sochristos
as not to break existing configurations.
2014-04-03Fix bugs in raidframe + wedge and root interaction:christos
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?
2014-04-02If we are autoconfiguring root, then only change the booted_device ifchristos
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.
2014-03-25kill sprintfchristos
2014-03-23fix unusedchristos
2014-03-23remove unusedchristos
2014-03-16Change (mostly mechanically) every cdevsw/bdevsw I can find to usedholland
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.
2014-02-28G/C sys/simplelock.h includesskrll
2013-11-22Remove RAID_DIAGNOSTIC around a variable and mark __unused instead.riz
2013-11-22Move two RF_ASSERT()s into the protection of RAID_DIAGNOSTIC toriz
avoid a case where we get undeclared variables.
2013-09-15Mark a variable as potentially unusedmartin
2013-09-15Mark variables as potentially unusedmartin
2013-09-15ifdef variables like their usemartin
2013-09-15Avoid unused variable warningsmartin
2013-09-15Move variables into the same ifdef as their usemartin
2013-09-15Remove unused variablesmartin
2013-09-15Remove/ifdef unused variablesmartin
2013-09-15Remove unused variablemartin
2013-09-15Remove unused variablesmartin
2013-09-15When we do not compile in the RF_ASSERT-ion code, still "use" the expression,martin
so the compiler does not warn about unused things.
2013-05-29phase 1 of disk geometry cleanup:christos
- centralize the geometry -> plist code so that we don't have n useless copies of it.
2013-05-23PR/47846: Frank Kardel: panic/lockups in raidframe during detach at shutdownchristos
XXX: Fix this properly by using the memory allocated from the autoconf subsystem and use raidput in all the places needed.
2013-04-29Set the raidid and the softc together in both places where we initializechristos
raidPtr.
2013-04-28no need for raid.hchristos
2013-04-27no more needs flagchristos
2013-04-27allocate devices dynamically.christos
2013-03-06fix parens in a messageyamt
2013-02-18Fix a few spelling issues. No functional changes.oster
2012-12-10Fix off by one read.msaitoh
2012-10-30fix a problem in half-configured raid devices, found when a "raidctl -c"mrg
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.
2012-08-09Implement DIOCGSTRATEGY and DIOCSSTRATEGY to allow raidframe to usebuhrow
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.
2012-07-19Initialize values to squelch gcc.pooka
from Greg Oster
2012-04-07If our raid is now accessed from wedges, adjust the root to be the wedgechristos
that corresponds to partition a. Is there a better way?
2012-02-20Add logic to the main reconstruction loop to handle RAID5 with rotatedoster
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.
2012-02-20comment, and effectively remove, a DIAGNOSTIC check thatoster
is invalid for RAID5_RS.
2012-02-16Add the ability to autoconfigure raid components on raw disks.buhrow
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.
2011-11-05Statically initialize the raidautoconfig variable when RAID_AUTOCONFIG is set,erh
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.
2011-10-14Change the vnode locking protocol of VOP_GETATTR() to request at leasthannken
a shared lock. Make all calls outside of file systems respect it. The calls from file systems need review. No objections from tech-kern.
2011-09-07Newline is \n, not /n.mbalmer
2011-08-31NULL does not need a castplunky
2011-08-03Address part of PR kern/44972. From YAMAMOTO Takashi. Thanks!oster
2011-08-03Remove unused 'struct lwp *' from rf_getdisksize. No functional changes.oster
2011-08-01According to the Oxford Dictionary of Etymology, a wether is a male sheepmbalmer
or ram.