Subject: CVS commit: src/sys/dev
To: None <source-changes@NetBSD.org>
From: Roland Dowdeswell <elric@netbsd.org>
List: source-changes
Date: 03/27/2004 23:23:06
Module Name:	src
Committed By:	elric
Date:		Sat Mar 27 23:23:06 UTC 2004

Modified Files:
	src/sys/dev: cgd.c cgdvar.h dksubr.c dkvar.h

Log Message:
Modified the dksubr routines to:

	o  expect the disk's start routine to return an int.  If the
	   int is non-zero, we enqueue the request and try again
	   later.
	o  have a dk_start() routine which runs the request queue.
	o  have a dk_iodone() function which should be called by the
	   driver using the framwork from its iodone.  dk_iodone will
	   retry the queue since presumably further progress may be
	   possible once a request is complete.  It is required that
	   the underlying driver have the resources to keep at least
	   one transaction in flight at any time.

Modified cgd to:

	o  be able to keep one transaction in flight at any time
	   (almost) by keeping a buffer of size MAXPHYS in its softc
	   and use it.

We still need to make the cgd_cbufpool per device rather than global
and provide a low water mark for it.

Addresses PR: kern/24715
(at least according to the submitter.)


To generate a diff of this commit:
cvs rdiff -r1.15 -r1.16 src/sys/dev/cgd.c
cvs rdiff -r1.1 -r1.2 src/sys/dev/cgdvar.h
cvs rdiff -r1.10 -r1.11 src/sys/dev/dksubr.c
cvs rdiff -r1.3 -r1.4 src/sys/dev/dkvar.h

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