Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys
Module Name: src
Committed By: bouyer
Date: Sun May 25 19:23:49 UTC 2014
Modified Files:
src/sys/arch/xen/xen: xbd_xenbus.c
src/sys/dev: cgd.c dksubr.c dkvar.h
Log Message:
As proposed in
https://mail-index.netbsd.org/tech-kern/2014/05/21/msg017098.html
remove dk_start() and dk_iodone() from dksubr.c and move the related code
to the underlying driver.
This increase complexity only marginally: the underlying drivers have
to do the while() loop themselves, but this can now be done properly with
bufq_peek()/bufq_get(), removing the buffer from the queue at the right time.
This handle both the recursion and reordering issues (the reordering
issue is described here:
https://mail-index.netbsd.org/tech-kern/2014/05/19/msg017089.html
the recursion isssue is PR #25240).
Difference with the patch posted to tech-kern@: KASSERT() that the
buffer we remove with bufq_get() is the same as the one we bufq_peek()'d
just before.
Hopefully this will allow more disk drivers to use dksubr.c
To generate a diff of this commit:
cvs rdiff -u -r1.62 -r1.63 src/sys/arch/xen/xen/xbd_xenbus.c
cvs rdiff -u -r1.86 -r1.87 src/sys/dev/cgd.c
cvs rdiff -u -r1.49 -r1.50 src/sys/dev/dksubr.c
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/dkvar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index