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.