Subject: Re: kern/31990: esiop leaves b_resid non-zero
To: None <gnats-bugs@NetBSD.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: netbsd-bugs
Date: 11/03/2005 23:32:28
On Thu, Nov 03, 2005 at 01:23:01PM +0000, yamt@mwd.biglobe.ne.jp wrote:
> >Number:         31990
> >Category:       kern
> >Synopsis:       esiop leaves b_resid non-zero
> >Confidential:   no
> >Severity:       serious
> >Priority:       low
> >Responsible:    kern-bug-people
> >State:          open
> >Class:          sw-bug
> >Submitter-Id:   net
> >Arrival-Date:   Thu Nov 03 13:23:00 +0000 2005
> >Originator:     YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
> >Release:        NetBSD 3.99.11
> >Organization:
> 
> >Environment:
> System: NetBSD 3.99.11
> Architecture: alpha
> Machine: alpha
> >Description:
> 	the following is the first i/o request of
> 	"dd if=/dev/rsd0c of=/dev/null", after biodone() is called on it.
> 
> 		db> sh buf 0xfffffc001dde6458
> 		  vp 0x0 lblkno 0xdeadbeefdeadbeef blkno 0x0 dev 0x802
> 		  error 0 flags 0x1c0210<BUSY,DONE,PHYS,RAW,READ>
> 		  bufsize 0x200 bcount 0x200 resid 0x200
> 		  data 0x120018000 saveaddr 0x0 dep 0x0
> 		  iodone 0xfffffc0000480420
> 
> 	after putting some printf,
> 	esiop_intr seems to call esiop_scsicmd_end with offset == 0.

I don't see a problem here. Calling esiop_scsicmd_end with offset == 0 is
valid, if the command didn't complete properly. Can you give more detail on
what you see wrong here ? Does the kernel print some message ?

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--