Date: Sat, 13 Feb 1999 17:08:08 +0100 (CET) From: Frederic LOYER <loyer@ensta.fr> To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: i386/10089: ATAPI tape driver (wst) doesn't handle End Of Media error Message-ID: <199902131608.RAA08065@quickstep.ensta.fr>
next in thread | raw e-mail | index | archive | help
>Number: 10089
>Category: i386
>Synopsis: ATAPI tape driver (wst) doesn't handle End Of Media error
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Feb 14 10:10:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator: Frederic LOYER
>Release: FreeBSD 3.0-RELEASE i386
>Organization:
ENSTA - Ecole Nationale Superieure de Techniques Avancees
>Environment:
FreeBSD 3.0-RELEASE i386
>Description:
When writing to a tape, an EIO error is returned at the end of the media.
This prevents multi-volume dumps.
>How-To-Repeat:
dump 0abf 32 /dev/nrwst0 /usr
where /usr is a file system which can't be contained in a single tape.
>Fix:
In the src/sys/i386/isa directory, apply the folowing patch:
The switch statement could be replaced by an "if" one. I prefer
a switch, thinking of adding perhaps one other error type (such as
AER_MCR, media change requested)
*** wst.c.orig Sat Feb 13 11:52:35 1999
--- wst.c Sat Feb 13 12:15:24 1999
***************
*** 503,509 ****
if (result.code) {
printf("wst_done: ");
wst_error(t, result);
! bp->b_error = EIO;
bp->b_flags |= B_ERROR;
}
else
--- 503,515 ----
if (result.code) {
printf("wst_done: ");
wst_error(t, result);
! switch (result.error) {
! case AER_EOM:
! bp->b_error = ENOSPC;
! break;
! default:
! bp->b_error = EIO;
! }
bp->b_flags |= B_ERROR;
}
else
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902131608.RAA08065>
