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>