freebsd-skq/sys/dev/vinum
Greg Lehey 83d4664f33 Remove obsolete functions [un]lockplex and [un]lockvol.
Rewrite lockrange and unlockrange.  The lock table is now a fixed
size, so there is no possibility for race conditions when expanding.
The current size (256 locked ranges) should be large enough that it
makes no sense to expand it.  To do expansion right would require
quiescing the plex (requiring at least 256 I/O completions), and the
performance implications are horrendous.

Add a mutex per plex for accessing the lock table.

Based on analysis by:	tegge
2001-01-10 05:06:37 +00:00
..
COPYRIGHT
makestatetext
request.h Add flag XFR_BUFLOCKED to identify buffers which have been locked. 2000-12-20 05:10:08 +00:00
statetexts.h
vinum.c
vinumconfig.c config_plex: Initialize mutex for parity plexes. 2001-01-10 05:01:12 +00:00
vinumdaemon.c
vinumext.h
vinumhdr.h Get definition of Malloc right when not using VINUMDEBUG 2001-01-10 05:05:46 +00:00
vinuminterrupt.c give_plex_to_volume: Recalculate volume size after attaching. 2000-12-20 05:13:26 +00:00
vinumio.c open_drive: Refuse to open partition c of a disk device. 2001-01-10 05:02:44 +00:00
vinumio.h
vinumioctl.c Rename detached plexes and subdisks correctly (off by one error) 2000-12-20 05:16:46 +00:00
vinumkw.h
vinumlock.c Remove obsolete functions [un]lockplex and [un]lockvol. 2001-01-10 05:06:37 +00:00
vinummemory.c Use PCPU_GET, PCPU_PTR and PCPU_SET to access all per-cpu variables 2001-01-10 04:43:51 +00:00
vinumparser.c Rearrange #includes to make more sense. This is still not the reform 2000-12-20 05:17:29 +00:00
vinumraid5.c
vinumrequest.c build_rq_buffer: Note which buffer headers we lock. 2000-12-20 05:18:09 +00:00
vinumrevive.c Re-commit revision 1.32, which grog incorrectly backed out in revision 1.33. 2000-12-20 11:17:09 +00:00
vinumstate.c
vinumstate.h
vinumutil.c
vinumvar.h