summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
AgeCommit message (Collapse)Author
2009-04-03Switch various printfs from %ld and %d to PRIu64, etc. to be more consistentsborrill
about types (for instance uint32_t was being printed with %d).
2009-03-23Rework/simplify the disk queuing code. A bunch of this was stilloster
holdovers from the simulator and would never be seen/used in-kernel.
2009-03-18Ansify function definitions w/o arguments. Generated with sed.cegger
2009-03-15ansify function definitionscegger
2009-03-14ANSIfy another 1261 function definitions.dsl
The only ones left in sys are beyond by sed script! (or in sys/dist or sys/external) Mostly they have function pointer parameters.
2009-03-14Change about 4500 of the K&R function definitions to ANSI ones.dsl
There are still about 1600 left, but they have ',' or /* ... */ in the actual variable definitions - which my awk script doesn't handle. There are also many that need () -> (void). (The script does handle misordered arguments.)
2009-03-14'boot -z' bogonsad
2009-02-28Nuke a DIAGNOSTIC check that is no longer useful, even for DIAGNOSTIC.oster
2009-02-28It seems that some SCSI drivers can block while the spinlock on a givenoster
disk queue is being held. Work around this by dropping the lock before bdev_strategy(), and re-grabbing the lock afterwards. This is a temporary measure until I get to gutting this queue locking code. There has been some success with this in addressing PR#39993. This patch is from Antti Kantee. Thanks!
2009-02-11If we see a RF_RECON_WRITE_ERROR event we know a write has finished andoster
we need to account for that. Failure to do so means we can end up waiting forever for writes we think are outstanding, but which have already completed. Addresses the RAIDframe part of PR#40569. Thanks to Matthias Scheler for reporting the issue and verifying the fix.
2009-02-07Nuke #define MAXNSTRIPES which is no longer useful.oster
2009-02-07Be consistent with wd.c and don't complain loudly if the underlyingoster
device doesn't support flushing the cache. Fixes an issue (reported privately) where ST39120A drives are not capable of flushing the cache, and RAIDFrame was incessantly complaining.
2009-01-18add compat50 ioctls.christos
2009-01-13g/c BUFQ_FOO() macros and use bufq_foo() directly.yamt
2009-01-11Implement DIOCCACHESYNC for RAIDframe too.oster
2008-12-20When unconfiguring an array where a reconstruct is in progress, abortoster
the reconstruct and wait for IOs to drain before pulling the plug. Should fix the panic reported by der Mouse on tech-kern.
2008-12-17kill MALLOC and FREE macros.cegger
2008-11-18_KERNEL_OPTad
2008-09-28Undo previous change to an #if 0. The code does belong to theoster
distributed sparing bits, but no-one has compile-tested the code. Un-breaks the ALL build.
2008-09-27Cleanup some of the spare table stuff. It is not needed in the generaloster
case, and is only needed for parity declustering with distributed sparing.
2008-09-23Nuke unneeded printf(). Spotted by pooka@.oster
2008-06-17Mark a buffer `busy` in getnewbuf() when it came from the pool_cache sincereinoud
its not on a free list. Also change buf_init() to not automatically mark buffers `busy' since this only makes sense for bufcache buffers. Mark all buf_init'd buffers 'busy' on the places where they ought to be flagged as such to not confuse the buffer cache. Fixes PR 38923.
2008-06-16We don't care about md devices here. Fixes issue reported by Jukka Salmioster
on current-users. Thanks!
2008-06-10use new "defpseudodev" where appropriate, and remove dummy interfacedrochner
attribute definitions which were only to trick config(8)
2008-06-07- Use bdev_strategy() instead of VOP_STRATEGY().oster
- Don't bother taking the v_interlock or bumping b_vp->v_numoutput -- there won't be any other writers for this bp, and so there's no point doing this locking song'n'dance. Patch from Juergen Hannken-Illjes. Thanks!!! Addresses PR#38856. With this change I've been unable to replicate the hard hangs.
2008-05-20Add in a missing "bp->b_resid = bp->b_bcount" in the EIO case.oster
Spotted by Juergen Hannken-Illjes. Thanks!
2008-05-19Re-work some of the guts of the reconstruction code.oster
Reconmap used to have one pointer for every reconstruction unit. This does not scale well in the land of 1TB disks, where some 100MB+ of "status pointers" are required for typical configurations. Convert the reconstruction code to use a "sliding status window" which will scale nicely regardless of the number of stripes/reconstruction units in the RAID set. Convert the main reconstruction loop to rebuild the array in chunks rather than in one big lump. As part of these changes, introduce a function to kick any waiters on the head separation callback list, and use that in the main reconstruction event queue to wake up the waiters if things have stalled. (I believe this may fix a race condition that could occur at at least at the very end of a disk during reconstruction under heavy IO load.) Thanks to Brian Buhrow for all his help, support, and patience in testing these changes.
2008-05-04Both StripeUnitsPerParityUnit and StripeUnitsPerReconstructUnit needoster
to be positive integers.
2008-04-28Remove clause 3 and 4 from TNF licensesmartin
2008-04-20Cleanup function prototypes. No functional change.oster
2008-04-20Introduce a function to return the default head separation for RAID 1oster
sets. This helps ensure that the sliding status window (coming soon!) for reconstructs will always be correct.
2008-04-15A forced recon read should not default to indicating that the readsoster
for that disk have stopped, since this will bump us out of the normal reconstruction loop prematurely. Fixes the (mostly cosmetic) bug where the reconstruction status values stop updating, and from raidctl it appears that reconstruction has totally stalled (which it actually hasn't -- the reconstruction does complete properly, but not in the normal way).
2008-04-14Print out the status value if a reconstruction read fails.oster
Don't print out write promotions during reconstruct unless we are debugging reconstructs.
2008-04-14Fix display of total number of sectors if > 2^32 on 32-bit machinessborrill
2008-04-05use aprint_*_dev and device_xnamecegger
2008-03-21Catch up with descriptor handling changes. See kern_descrip.c revisionad
1.173 for details.
2008-02-12rf_debugMem.c: remove unused 'rc' variable for RF_DEBUG_MEM.oster
rf_driver.c: minor comment tweak. Improve debugging output in RF_DEBUG_QUIESCE. rf_states.c: fix argument to rf_PrintDAGList() in the RF_DEBUG_VALIDATE_DAG case. Changes from Olivier Cherrier. Thanks!!
2008-01-26In a land before time, when kernel processes roamed the system, weoster
needed to keep track of the kernel process that opened a device in order to close it with the right credentials. Flash forward to today where curlwp is now quite sufficient.
2008-01-04Start detangling lock.h from intr.h. This is likely to cause short termad
breakage, but the mess of dependencies has been regularly breaking the build recently anyhow.
2008-01-02Merge vmlocking2 to head.ad
2007-12-18Fix a 'use after free' issue with wedges and RAIDframe.oster
Problem reported and fix tested by Jeff Rizzo (Thanks!).
2007-12-11Use CFATTACH_DECL_NEW instead of CFATTACH_DECL... ICB wisdomoster
is that this will fix the config_devalloc panic.
2007-12-05lockmgr -> mutexad
2007-12-01aprintifyjmcneill
2007-11-26Remove the "struct lwp *" argument from all VFS and VOP interfaces.pooka
The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used. quick consensus on tech-kern
2007-11-17Nuke debugging output that is a) misleading at best, andoster
b) often just wrong. Thanks to wiz for catching this.
2007-11-13don't include <sys/namei.h> unnecessarily.yamt
2007-11-08We need to initialize dk_driver as well. Thanks to Ronald Roskensoster
for reporting the problem and testing the fix.
2007-11-01Implement support for drvctl in RAIDframe. Thanks to jnemeth@ foroster
initial patch.
2007-10-08Merge brelse() changes from the vmlocking branch.ad