Subject: Re: CVS commit: src/sys/dev
To: Juergen Hannken-Illjes <hannken@netbsd.org>
From: Christian Limpach <cl@NetBSD.org>
List: source-changes
Date: 04/24/2004 16:54:34
Hi,

On Mon, Apr 19, 2004 at 04:04:07PM +0000, Juergen Hannken-Illjes wrote:
> 
> Modified Files:
> 	src/sys/dev: dksubr.c
> 
> Log Message:
> Redo dk_start(). If di->di_diskstart() runs synchronous its biodone() will
> call dk_start() via dk_iodone() before the buffer gets removed from queue.

Doesn't this mess up the ordering of the buffers on the queue when diskstart
doesn't process a buf and we have to put it back on the queue with BUFQ_PUT?

Additionally, the change prevents a *start routine from processing and
dequeueing multiple bufs and then return -1 to make dk_start exit.
(see arch/xen/xen/xbd.c rev 1.1)

    christian