Subject: kern/8300: ustarfs error recovery is broken
To: None <gnats-bugs@gnats.netbsd.org>
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
List: netbsd-bugs
Date: 08/31/1999 11:05:51
>Number:         8300
>Category:       kern
>Synopsis:       ustarfs error recovery is broken
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Aug 31 11:05:00 1999
>Last-Modified:
>Originator:     Bill Sommerfeld
>Organization:
	
>Release:        199908xx
>Environment:
	

>Description:
my alpha boot floppy had read "warnings": 

Warning, unexpected short transfer 8192/18432
Warning, unexpected short transfer 8192/10240

(!#%$^$ cheap media.  well, I did get it in the mail from AOL...)

it appears that ustarfs's error recovery code adjusts the destination
pointer and length after a failure, but doesn't adjust the disk
address.

>How-To-Repeat:
	try to boot alpha from bad floppy.  watch it appear to read
successfully, and then crump early in boot.

>Fix:
	
(untested, hypothetical): 
At the end of the loop in ustarfs_cylinder_read, add a 

"seek2 += xfercount;"







>Audit-Trail:
>Unformatted: