freebsd-nq/sys/dev/vinum
Greg Lehey c4d4f4147d Add a new debug flag, DEBUG_LOCKREQS, which logs only lock requests.
Use this instead of DEBUG_LASTREQS to decide whether to log lock
requests.

MFS:

vinumlock: Catch a potential race condition where one process is
           waiting for a lock, and between the time it is woken and
           it retries the lock, another process gets it and places it
           in the first entry in the table.

           This problem has not been observed, but it's possible, and
           it's easy enough to fix.

Submitted by:   tegge

vinumunlock: Catch a real bug capable of hanging a system.  When
             releasing a lock, vinumunlock() called wakeup_one.  This
             caused wakeups to sometimes get lost.  After due
             consideration, we think that this is due to the fact that
             you can't guarantee that some other process is also
             waiting on the same address.  This makes wakeup_one a
             very dangerous function to use.
2001-05-22 02:34:30 +00:00
..
COPYRIGHT $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
makestatetext Cosmetic changes. 2000-02-29 06:07:01 +00:00
request.h Add xferinfo flag bit for copied buffers. 2001-05-22 02:28:55 +00:00
statetexts.h Cosmetic changes. 2000-02-29 06:07:01 +00:00
vinum.c free_vinum: Change some explicit struct member references to the SD, 2001-05-22 02:29:15 +00:00
vinumconfig.c config_sd: Add code to recognize "retryerrors" keyword. 2001-05-22 02:29:54 +00:00
vinumdaemon.c Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
vinumext.h Remove unnecessary declarations of userland functions. 2001-05-22 02:30:44 +00:00
vinumhdr.h Take a shot at making vinum devfs aware. 2001-02-20 11:37:04 +00:00
vinuminterrupt.c complete_rqe: 2001-05-22 02:31:08 +00:00
vinumio.c format_config: Replace long format lines. 2001-05-22 02:32:22 +00:00
vinumio.h Change ioctls to use the expurgated userland version of the Vinum 2001-05-22 02:33:32 +00:00
vinumioctl.c Change ioctls to use the expurgated userland version of the Vinum 2001-05-22 02:33:32 +00:00
vinumkw.h Change ioctls to use the expurgated userland version of the Vinum 2001-05-22 02:33:32 +00:00
vinumlock.c Add a new debug flag, DEBUG_LOCKREQS, which logs only lock requests. 2001-05-22 02:34:30 +00:00
vinummemory.c Make intr_nesting_level per-process, rather than per-cpu. Setup 2001-01-21 19:25:07 +00:00
vinumobj.h New file containing definitions for separate views of objects for 2001-05-22 01:41:12 +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 bre5: don't bufdone the user bp on error, let vinumstart() do it. 2001-01-10 05:07:14 +00:00
vinumrequest.c vinumstart: Don't check for B_DONE on return from bre(), it doesn't 2001-01-10 05:07:52 +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 start_object: Set the revive length correctly. 2000-06-07 03:34:18 +00:00
vinumstate.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vinumutil.c plex_org: Add case for RAID-4. 2000-02-29 06:16:44 +00:00
vinumvar.h Send the remains (such as I have located) of "block major numbers" to 2001-03-26 12:41:29 +00:00