Home | History | Annotate | Download | only in raidframe
History log of /src/sys/dev/raidframe/rf_paritymap.c
RevisionDateAuthorComments
 1.11  25-Sep-2023  oster We no longer need the deprecated copyback functionality now that
incorporating a used spare is automatic.

Copyback has always been an issue, as to do a copyback all IO to
the array had to be suspended, and so was very, very unlikely to
have been used in anything resembling a production system.
 1.10  27-Sep-2020  christos DIOCCACHESYNC takes an int argument, pass it through.
 1.9  09-Feb-2019  christos - Change the allocation macros to be more like function calls
- Change sizeof(type) -> sizeof(*variable)
- Use macros for the long buffer length allocations
- Remove "bit polishing" memsets() -- do them only once
- Remove unnecessary casts

Thanks to oster@ for finding bugs and testing.
 1.8  27-Apr-2011  mrg branches: 1.8.56;
prepare to convert more raidframe old lock/sleep APIs to mutex/condvar:

- remove RF_DECLARE_EXTERN_MUTEX and RF_DECLARE_STATIC_MUTEX, the qualifier
can be provided at the use point with the normal define
- rename the *LGMGR_MUTEX() macros to *mutex2() names, and add some more
defines for use:
rf_declare_mutex2()
rf_declare_cond2()
rf_lock_mutex2()
rf_unlock_mutex2()
rf_init_mutex2()
rf_destroy_mutex2()
rf_init_cond2()
rf_destroy_cond2()
rf_wait_cond2()
rf_signal_cond2()
rf_broadcast_cond2()
- use the new names for the configureMutex(), which previous used some combo
of direct mutex* calls and macros
- convert the node_queue to use a mutex/cv combo
- in rf_ShutdownEngine() and DAGExecutionThread(), also signal the former from
the latter when it is done and about to exit
- convert iodone_lock to use the new macros
 1.7  23-Apr-2011  mrg convert the iodone_lock to a mutex, and use a condvar for signalling.

this only handles the smallest use of old simple_lock/tsleep/wakeup
APIs inside raidframe, and it points out that cv(9)'s have only one
wait channel per cv, whereas each tsleep() caller can specify a
different wait channel. this change removes the difference between
normal raidio and waiting for IO during shutdown.

i've tested this one 3 systems, ran atf, and had mlelstv and rmind
review the change.
 1.6  01-Mar-2011  riz Always return at least one parity region. Fixes PR#44239.
Fix from oster@, code (such as it is) by me.
 1.5  14-Mar-2010  jld branches: 1.5.2; 1.5.4; 1.5.6; 1.5.8;
For RAID sets which have no parity (i.e., RAID level 0) and therefore can
never have a parity map, make the parity map ioctls fail with EINVAL.

This makes `raidctl -m` print a scary-looking error on such sets, which
is an improvement over the previous behavior of falsely claiming that
the parity map would be enabled on the next configuration.
 1.4  03-Mar-2010  oster branches: 1.4.2;
Don't attempt to read or write component label stuff from/to 'dead disks'.
Update used spares with the correct parity map bits too.

Addresses PR#42904 by Louis Guillaume. Fix confirmed by submitter.
Thanks!
 1.3  26-Nov-2009  pooka branches: 1.3.2; 1.3.4;
include sys/param.h first, as is the convention
 1.2  26-Nov-2009  kenh On the ARM platform, sys/param.h needs to be before sys/mutex.h, otherwise
sys/device.h will fail compilation (struct kmutex will not be defined
completely).
 1.1  17-Nov-2009  jld Finally commit the RAIDframe parity map Summer Of Code project.

Drastically reduces the amount of time spent rewriting parity after an
unclean shutdown by keeping better track of which regions might have had
outstanding writes. Enabled by default; can be disabled on a per-set
basis, or tuned, with the new raidctl(8) commands.

Discussed on tech-kern@ to a general air of approval; exhortations to
commit from mrg@, christos@, and others.

Thanks to Google for their sponsorship, oster@ for mentoring the
project, assorted developers for trying very hard to break it, and
probably more I'm forgetting.
 1.3.4.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.3.2.4  07-Mar-2011  snj Pull up following revision(s) (requested by riz in ticket #1569):
sys/dev/raidframe/rf_paritymap.c: revision 1.6
Always return at least one parity region. Fixes PR#44239.
Fix from oster@, code (such as it is) by me.
 1.3.2.3  06-Mar-2010  sborrill Pull up the following revisions(s) (requested by oster in ticket #1325):
sys/dev/raidframe/rf_paritymap.c: revision 1.4

Don't attempt to read or write component label stuff from/to 'dead
disks'. Update used spares with the correct parity map bits too.
Addresses PR#42904.
 1.3.2.2  10-Dec-2009  snj Pull up following revision(s) (requested by tron in ticket #1187):
sys/dev/raidframe/rf_paritymap.c: revision 1.1-1.3 via patch
sys/dev/raidframe/rf_paritymap.h: revision 1.1 via patch
Pull up the RAIDframe parity map Summer Of Code project.
Drastically reduces the amount of time spent rewriting parity after an
unclean shutdown by keeping better track of which regions might have had
outstanding writes. Enabled by default; can be disabled on a per-set
basis, or tuned, with the new raidctl(8) commands.
 1.3.2.1  26-Nov-2009  snj file rf_paritymap.c was added on branch netbsd-5 on 2009-12-10 23:01:44 +0000
 1.4.2.3  11-Aug-2010  yamt sync with head.
 1.4.2.2  11-Mar-2010  yamt sync with head
 1.4.2.1  03-Mar-2010  yamt file rf_paritymap.c was added on branch yamt-nfs-mp on 2010-03-11 15:04:01 +0000
 1.5.8.1  05-Mar-2011  bouyer Sync with HEAD
 1.5.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.5.4.2  21-Apr-2010  matt sync to netbsd-5
 1.5.4.1  14-Mar-2010  matt file rf_paritymap.c was added on branch matt-nb5-mips64 on 2010-04-21 00:27:51 +0000
 1.5.2.2  31-May-2011  rmind sync with head
 1.5.2.1  05-Mar-2011  rmind sync with head
 1.8.56.1  10-Jun-2019  christos Sync with HEAD

RSS XML Feed