Subject: CVS commit: syssrc
To: None <source-changes@netbsd.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 01/21/2000 15:20:52
Module Name:	syssrc
Committed By:	thorpej
Date:		Fri Jan 21 23:20:52 UTC 2000

Modified Files:
	syssrc/sys/kern: subr_disk.c
	syssrc/sys/sys: buf.h

Log Message:
- Add a B_ORDERED flag to communicate to drivers that an I/O request should
  be issued/completed in order; that is, provide a barrier for I/O queues.
- Change the buffer driver queue links to a TAILQ, rather than using
  a home-grown equivalent.  Provide BUFQ_*() macros to manipulate buffer
  queues; these deal with the barrier provided by B_ORDERED.
- Update disksort() accordingly, and provide 3 versions:
	- disksort_cylinder(): historical disksort(), which keys on
	  b_cylinder (and b_blkno for the case when b_cylinder matches).
	- disksort_blkno(): sorts only on b_blkno.  Essentially the
	  same as disksort_cylinder(), but with fewer comparisons.
	- disksort_tail(): requests are simply inserted into the queue
	  at the tail.  This is provided as an option so that drivers
	  can simply have a pointer to the appropriate sort function.
  Note that disksort() now pays attention to B_ORDERED.


To generate a diff of this commit:
cvs rdiff -r1.25 -r1.26 syssrc/sys/kern/subr_disk.c
cvs rdiff -r1.35 -r1.36 syssrc/sys/sys/buf.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.