summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe
AgeCommit message (Collapse)Author
2007-11-01Implement support for drvctl in RAIDframe. Thanks to jnemeth@ foroster
initial patch.
2007-10-08Merge brelse() changes from the vmlocking branch.ad
2007-10-08Merge disk init changes from the vmlocking branch. These seperate init /ad
destroy of 'struct disk' from attach / detach.
2007-10-05Implement dumping kernel cores to RAID 1 sets. The component usedoster
for the dump is selected in this order of preference: 1) the master 2) a used_spare of the master 3) the slave 4) a used_spare of the slave
2007-09-21Fix wording in a comment and correct a debug line. From Olivier Cherrieroster
(via private mail). Thanks!
2007-09-16Make a couple of variables 64-bit quantities to avoid overflow issuesoster
when arrays have a large number of stripes. Remove unused variable (recon_stripes_done). Thanks to Dieter Roelants for the report, suggestions, and testing. Addresses PR#36878.
2007-07-29It's not a good idea for device drivers to modify b_flags, as they don'tad
need to understand the locking around that field. Instead of setting B_ERROR, set b_error instead. b_error is 'owned' by whoever completes the I/O request.
2007-07-18Fix fallout from recent kthread changes.ad
2007-07-09Merge some of the less invasive changes from the vmlocking branch:ad
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
2007-06-26Change dk_lookup() to accept an additional argument of the type enum uio_segcube
that tells whether the given path is in user space or kernel space, so it can tell NDINIT(). While the raidframe calls were ok, both ccd(4) and cgd(4) were passing pointers to user space data, which leads to strange error on i386, as reported by Jukka Salmi on current-users. The issue has been there since last august, I'm actually a bit surprised that no one in the meantime has used ccd(4) or cgd(4) on an arch where it would have simply faulted.
2007-06-24don't leak a vnode in the wedge case.christos
2007-03-13Fix typo in print statement; from khorbenchristos
2007-03-12Pass an ipl argument to pool_init/POOL_INIT to be used when initializingad
the pool's lock.
2007-03-09In the case of multiple RAID sets that are marked as root, attempt tooster
use the RAID set that contains the component used for booting. Thanks to manu@ for the main part of this.
2007-03-04Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.christos
2007-01-29Remove more duplicate headers.hubertf
Patch by Slava Semushin <slava.semushin@gmail.com> Again, this was tested by comparing obj files from a pristine and a patched source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs, src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers were detected in 'objdump -d' output.
2006-11-30Change a bunch of "#if DEBUG" to "#ifdef DEBUG".oster
2006-11-30If the user has specified 'root on foo', then skip changing the booted_deviceoster
even if we've detected a 'root on raid' autoconfigure. This change is really only cosmetic, since setroot() will still do the right thing and honor the 'root on foo' setting.
2006-11-16__unused removal on arguments; approved by core.christos
2006-10-12- sprinkle __unused on function decls.christos
- fix a couple of unused bugs - no more -Wno-unused for i386
2006-10-09Remove unused variable. (Noted by mrg. Thanks.)oster
2006-10-08Fix previous a different way. (pseudo_disk_init() needed to be called earlier)oster
2006-10-08Call pseudo_disk_init in the autoconfig case.christos
2006-10-08Re-work some of the initialization code to now use config_attach_pseudo()oster
and friends. Addresses PR#32881. BOOT_FROM_RAID_HOOKS dies. More simplification possible now.
2006-10-07It's ok to wait for memory for the emergency buffers. If we don't getoster
that memory, fail harder, and bail on configuring the RAID array. Addresses PR#25787.
2006-10-05Revert previous change: Remove an unused variable declaration that wasoster
(likely accidentally) added as the only change in the last commit.
2006-10-05Protect calls to pool_put/pool_get that may occur in interrupt contexttls
with spl used to protect other allocations and frees, or datastructure element insertion and removal, in adjacent code. It is almost unquestionably the case that some of the spl()/splx() calls added here are superfluous, but it really seems wrong to see: s=splfoo(); /* frob data structure */ splx(s); pool_put(x); and if we think we need to protect the first operation, then it is hard to see why we should not think we need to protect the next. "Better safe than sorry". It is also almost unquestionably the case that I missed some pool gets/puts from interrupt context with my strategy for finding these calls; use of PR_NOWAIT is a strong hint that a pool may be used from interrupt context but many callers in the kernel pass a "can wait/can't wait" flag down such that my searches might not have found them. One notable area that needs to be looked at is pf. See also: http://mail-index.netbsd.org/tech-kern/2006/07/19/0003.html http://mail-index.netbsd.org/tech-kern/2006/07/19/0009.html
2006-09-28Make sure the 'last configured as' field in the component labelsoster
are updated each time the component labels are written.
2006-09-05Per a suggestion from Manuel, make numBlocks and partitionSizeoster
unsigned for now. This prevents rf_reasonable_label() from rejecting a valid label when these fields have an integer overflow. The reality is that these need to be 64-bit quantities, but that will come later.
2006-08-28Fix uninitialized variables.christos
2006-08-27- use dk_lookup instead of our home-spun version.christos
- allow raid to be configured in a wedge - allow wedges to be configured in a raid - add autoconfiguration of wedges in a raid
2006-08-17Fix all the -D*DEBUG* code that it was rotting away and did not even compile.christos
Mostly from Arnaud Lacombe, many thanks!
2006-08-07sc_size should be a 64-bit quantity. Notice by Matthias Drochner.oster
2006-08-07Fix a minor typo in a comment.oster
2006-07-21- Use the LWP cached credentials where sane.ad
- Minor cosmetic changes.
2006-06-12Do the "don't allocate > 1K on the stack" thing for raidioctl().oster
2006-06-07merge FreeBSD timecounters from branch simonb-timecounterskardel
- struct timeval time is gone time.tv_sec -> time_second - struct timeval mono_time is gone mono_time.tv_sec -> time_uptime - access to time via {get,}{micro,nano,bin}time() get* versions are fast but less precise - support NTP nanokernel implementation (NTP API 4) - further reading: Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
2006-05-14integrate kauth.elad
2006-04-26un-bitrot some of this code (which is not included by default in kernels),oster
and make it build again. XXX: Paritylogging bits still won't build.
2006-04-14Coverity CID 1127: Prevent NULL deref.christos
2006-04-14Turn on RAID KASSERTS if __COVERITY__christos
2006-04-12Don't access b_fspriv.bf_private in struct buf directly - use thesimonb
b_private macro. OK'd by oster@
2006-03-28Use device_is_a() and device_unit().thorpej
2006-03-25free storage of clabel before bailing out.rtr
coverity 2745 / run 11
2006-03-23This one is good for making one's brain hurt. Turns out that theoster
original RAIDframe code had the same bug with dag_h being used when possibly NULL. Use dagList as the starting point for any potential dag_h's. Move the initialization of dag_h in this part to a little later. Loop now runs through in equivalent lock-step with the construction of the dagList earlier in the function. Addresses Coverity CID 1129 (id=6841 Run 5).
2006-03-19Use tabs instead of spaces with previous change.simonb
2006-03-19Fix memory leaks when some components of a raid where missing duringdavid
autoconfig. From Coverity CIDs 2328, 2324, 2323, 1125
2006-03-18dag_h will always be NULL in this case, and thus we can eliminate aoster
bit of dead code. Addresses Coverity CID 728 NetBSD Scan 5.
2006-03-01Fix lossage related to device_is_a() changes. Fix from cube@ (thanks!).oster
Tested by me.
2006-02-24- minor comment cleanuposter
- nuke an extraneous memset() (RF_Malloc() already does that) from RAIDFRAME_GET_INFO in raidioctl().