NetBSD-Bugs archive
[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>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc:
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
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