[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PR/25240 CVS commit: src/sys
The following reply was made to PR kern/25240; it has been noted by GNATS.
From: "Manuel Bouyer" <bouyer%netbsd.org@localhost>
Subject: PR/25240 CVS commit: src/sys
Date: Sun, 25 May 2014 19:23:49 +0000
Module Name: src
Committed By: bouyer
Date: Sun May 25 19:23:49 UTC 2014
src/sys/dev: cgd.c dksubr.c dkvar.h
As proposed in
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:
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
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.
Main Index |
Thread Index |