History log of /src/sys/dev/ccdvar.h |
Revision | | Date | Author | Comments |
1.37 |
| 18-Mar-2018 |
christos | factor out the ccd COMPAT_60 code.
|
1.36 |
| 08-Jun-2017 |
chs | branches: 1.36.4; do not expose kernel-internal structure definitions to userland. needed due to upcoming sys/disk.h changes needed for ZFS.
|
1.35 |
| 06-Sep-2015 |
dholland | More on PR 41200: headers that declare ioctls should include sys/ioccom.h. This covers (I think) all the MI headers outside of external/ (and dist/).
|
1.34 |
| 16-Aug-2014 |
sborrill | branches: 1.34.2; Switch size_t to uint64_t in appropriate places to ensure that ccd(4) works with component and total sizes of > 2TB. Add COMPAT_60 code for platforms where this alters userland-accessible structures. Make kernel print device information when a ccd configured. Fix some typos in comments.
|
1.33 |
| 27-Apr-2013 |
christos | branches: 1.33.10; - no limit on the number of ccd devices. - provide sysctl for getting information.
|
1.32 |
| 08-Feb-2011 |
rmind | branches: 1.32.4; 1.32.10; 1.32.14; Remove clause 3 (UCB advertising clause) from the University of Utah copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks! Also, merge UCB and Utah copyright texts back into one, as they originally were.
Extra verification by snj@.
|
1.31 |
| 04-Apr-2009 |
ad | branches: 1.31.4; 1.31.6; 1.31.8; Fix problems with ccd:
- Pending async I/O was tossed on unconfigure (should not happen, but..) - It could exhaust memory under heavy I/O load. - If memory allocation failed, disk transfers could stall. - v_numoutput was updated without v_interlock held.
Additionally:
- Make it MPSAFE. - Use kmem_alloc().
|
1.30 |
| 28-Apr-2008 |
martin | branches: 1.30.8; 1.30.10; 1.30.14; Remove clause 3 and 4 from TNF licenses
|
1.29 |
| 15-Feb-2007 |
ad | branches: 1.29.40; 1.29.42; 1.29.44; Replace some uses of lockmgr() / simplelocks.
|
1.28 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.27 |
| 15-Oct-2005 |
yamt | - change the way to specify a bufq strategy. (by string rather than by number) - rather than embedding bufq_state in driver softc, have a pointer to the former. - move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c. - rename method to strategy for consistency. - move some definitions which don't need to be exposed to the rest of kernel from sys/bufq.h to sys/bufq_impl.h. (is it better to move it to kern/ or somewhere?) - fix some obvious breakage in dev/qbus/ts.c. (not tested)
|
1.26 |
| 28-Oct-2004 |
yamt | branches: 1.26.12; hide bufq_state from userland.
|
1.25 |
| 23-Aug-2004 |
thorpej | Protect against multiple inclusion.
|
1.24 |
| 17-Oct-2003 |
lukem | Add user flag CCDF_NOLABEL to prevent the on-disk label from being read during CCDIOCSET. Use this when creating a new ccd to ignore any existing disklabel which is probably wrong.
|
1.23 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.22 |
| 17-May-2003 |
thorpej | branches: 1.22.2; Use a buffer queue. Primary advantage here is robustness in the face of temporary resource shortages.
|
1.21 |
| 17-May-2003 |
thorpej | Add DIOCKLABEL support. Fixes PR kern/21605 (Luke Mewburn).
|
1.20 |
| 05-Aug-2001 |
jdolecek | branches: 1.20.2; change ccio_ndisks and sc_nccdisks of struct ccd_ioctl from int to u_int introduce hard limit on number of disks which can be contcatenated togetger, CCD_MAXNDISKS
|
1.19 |
| 11-Aug-1999 |
thorpej | branches: 1.19.12; 1.19.14; 1.19.16; Garbage-collect CCDF_SWAP; no longer used, and doesn't make any sense with the UVM swap code.
|
1.18 |
| 11-Aug-1999 |
thorpej | We really only need *one* componenet buffer pool...
|
1.17 |
| 21-Jan-1999 |
thorpej | Fix a st00p1d bug I introduced in rev 1.57, which would cause any activity on non-0 CCD units to crash the system.
|
1.16 |
| 12-Jan-1999 |
thorpej | Whole lotta cleanup wrt. how configuration data is stored internally, and just lockmgr(), not our home-grown locking functions.
|
1.15 |
| 13-Nov-1998 |
thorpej | Nuke the mirroring code. RAIDframe is about to go in, and is a much better mirroring solution.
The ccd driver will stay, even in the presence of RAIDframe, for applications where just RAID-0 is needed (much smaller code footprint).
|
1.14 |
| 31-Jul-1998 |
thorpej | Use the pool allocator for component buffer headers.
|
1.13 |
| 09-Oct-1997 |
jtc | branches: 1.13.4; Fix tipo inherited from old version of TNF copyright template.
|
1.12 |
| 30-Jan-1997 |
thorpej | branches: 1.12.8; A performance optimization, inspired by a conversation with Thor Simon:
- Keep a freelist of component buffer headers, defaulting to 8 headers per component (tunable with the CCDNBUF kernel compile option). - When allocating a component buffer, try to pull a header off the freelist first, falling back on MALLOC() if the freelist is empty. Use MALLOC() rather than malloc(), because it will attempt to short-cut the allocation before actually making a full-blown malloc() call. - Keep statistics on how many component buffer headers have been allocated and how many of those allocations have resulted in freelist misses.
With these changes, I observed measurable decreases in system and wall clock time on operations on an 8G ccd, as well as a measurable drop in the time spent in ccdbuffer() (measured with kernel profiling).
|
1.11 |
| 28-Feb-1996 |
thorpej | Copyright assigned to The NetBSD Foundation.
|
1.10 |
| 01-Feb-1996 |
thorpej | Add experimental data mirroring support, derived from code written by Satoshi Asami and Nisha Talagala. For details on using data mirroring, see the ccd(4) manual page.
|
1.9 |
| 07-Jan-1996 |
thorpej | New generic disk framework. Highlights:
- New metrics handling. Metrics are now kept in the new `struct disk'. Busy time is now stored as a timeval, and transfer count in bytes.
- Storage for disklabels is now dynamically allocated, so that the size of the disk structure is not machine-dependent.
- Several new functions for attaching and detaching disks, and handling metrics calculation.
Old-style instrumentation is still supported in drivers that did it before. However, old-style instrumentation is being deprecated, and will go away once the userland utilities are updated for the new framework.
For usage and architectural details, see the forthcoming disk(9) manual page.
|
1.8 |
| 12-Oct-1995 |
thorpej | Fix bad pointer deref, memory leak, and geometry calculation, pointed out by Jochen Pohl in PR #1588. Change the interleave index to an array of ints rather than an array of chars to avoid losing in the event one has more than 127 components.
|
1.7 |
| 09-Oct-1995 |
thorpej | branches: 1.7.2; Implement a simple locking mechanism and use it, for sanity's sake. In ccdopen(), don't update the disklabel if any partition is already open. Prevents race bewteen ccdstrategy() and ccdgetdisklabel().
|
1.6 |
| 23-Aug-1995 |
thorpej | Fix typo in comment, from Chris P. Ross.
|
1.5 |
| 17-Aug-1995 |
thorpej | New version of ccd. Allows dynamic run-time configuration and unconfiguration and supports disklabels.
|
1.4 |
| 26-Mar-1995 |
jtc | KERNEL -> _KERNEL
|
1.3 |
| 02-Jul-1994 |
hpeyerl | These should have been the 4.4Lite versions. duh.
|
1.2 |
| 29-Jun-1994 |
cgd | New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
1.1 |
| 24-Jun-1994 |
hpeyerl | Concat disk driver moved from hp300/dev to here.
|
1.7.2.1 |
| 12-Oct-1995 |
thorpej | Update from trunk: Fix bad pointer deref, memory leak, and geometry calculation, pointed out by Jochen Pohl in PR #1588. Change the interleave index to an array of ints rather than an array of chars to avoid losing in the event one has more than 127 components.
|
1.12.8.1 |
| 14-Oct-1997 |
thorpej | Update marc-pcmcia branch from trunk.
|
1.13.4.1 |
| 08-Aug-1998 |
eeh | Revert cdevsw mmap routines to return int.
|
1.19.16.1 |
| 25-Aug-2001 |
thorpej | Merge Aug 24 -current into the kqueue branch.
|
1.19.14.1 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.19.12.1 |
| 16-Aug-2001 |
tv | Pullup [jdolecek]:
sys/dev/ccd.c 1.73 sys/dev/ccdvar.h 1.20
Provide hard limit on the number of concatenated disks, and bounds check against that limit.
|
1.20.2.1 |
| 07-Sep-2001 |
thorpej | Commit my "devvp" changes to the thorpej-devvp branch. This replaces the use of dev_t in most places with a struct vnode *.
This will form the basic infrastructure for real cloning device support (besides being architecurally cleaner -- it'll be good to get away from using numbers to represent objects).
|
1.22.2.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.22.2.5 |
| 02-Nov-2004 |
skrll | Sync with HEAD.
|
1.22.2.4 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.22.2.3 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.22.2.2 |
| 25-Aug-2004 |
skrll | Sync with HEAD.
|
1.22.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.26.12.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.26.12.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.29.44.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.29.44.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.29.42.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.29.40.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.30.14.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.30.10.2 |
| 27-Aug-2014 |
msaitoh | Pull up following revision(s) (requested by sborrill in ticket #1919): sbin/ccdconfig/ccdconfig.c 1.54 via patch sys/dev/ccd.c 1.152 via patch sys/dev/ccdvar.h 1.34 via patch
Switch size_t to uint64_t in appropriate places to ensure that ccd(4) works with component and total sizes of > 2TB. Make kernel print device information when a ccd configured. Fix some typos in comments.
|
1.30.10.1 |
| 04-Apr-2009 |
snj | Pull up following revision(s) (requested by ad in ticket #658): sys/dev/ccd.c: revision 1.133 via patch sys/dev/ccdvar.h: revision 1.31 Fix problems with ccd: - Pending async I/O was tossed on unconfigure (should not happen, but..) - It could exhaust memory under heavy I/O load. - If memory allocation failed, disk transfers could stall. - v_numoutput was updated without v_interlock held. Additionally: - Make it MPSAFE. - Use kmem_alloc().
|
1.30.8.1 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.31.8.1 |
| 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.31.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.31.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.32.14.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.32.14.2 |
| 23-Jun-2013 |
tls | resync from head
|
1.32.14.1 |
| 02-Dec-2012 |
tls | Don't pass NULL struct dkdriver to disk_init. That's seriously bogus.
|
1.32.10.1 |
| 27-Aug-2014 |
msaitoh | Pull up following revision(s) (requested by sborrill in ticket #1113): sbin/ccdconfig/ccdconfig.c 1.54 via patch sys/dev/ccd.c 1.152 via patch sys/dev/ccdvar.h 1.34 via patch
Switch size_t to uint64_t in appropriate places to ensure that ccd(4) works with component and total sizes of > 2TB. Make kernel print device information when a ccd configured. Fix some typos in comments.
|
1.32.4.1 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.33.10.1 |
| 18-Aug-2014 |
martin | Pull up following revision(s) (requested by sborrill in ticket #38): sys/dev/ccd.c: revision 1.152 sbin/ccdconfig/ccdconfig.c: revision 1.54 sbin/ccdconfig/ccdconfig.c: revision 1.55 sys/dev/ccdvar.h: revision 1.34 Switch size_t to uint64_t in appropriate places to ensure that ccd(4) works with component and total sizes of > 2TB. Add COMPAT_60 code for platforms where this alters userland-accessible structures. Make kernel print device information when a ccd configured. Fix some typos in comments. Don't print ccd_size with %zu; it no longer has type size_t. Instead, cast to uintmax_t and print with %ju.
|
1.34.2.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.34.2.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.36.4.2 |
| 22-Mar-2018 |
pgoyette | Synch with HEAD, resolve conflicts
|
1.36.4.1 |
| 18-Mar-2018 |
pgoyette | Import compat_60 changes for dev/ccd
|