From owner-freebsd-bugs Tue Apr 4 10:10: 6 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 2D37A37B52D for ; Tue, 4 Apr 2000 10:10:03 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id KAA20536; Tue, 4 Apr 2000 10:10:02 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from galahad.camelot.com (Galahad.Camelot.com [192.55.203.135]) by hub.freebsd.org (Postfix) with ESMTP id 1BC6A37B9A1 for ; Tue, 4 Apr 2000 10:07:10 -0700 (PDT) (envelope-from cjohnson@camelot.com) Received: by galahad.camelot.com (Postfix, from userid 2455) id C6F2612C19; Tue, 4 Apr 2000 13:07:07 -0400 (EDT) Message-Id: <20000404170707.C6F2612C19@galahad.camelot.com> Date: Tue, 4 Apr 2000 13:07:07 -0400 (EDT) From: cjohnson@camelot.com Reply-To: cjohnson@camelot.com To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: bin/17791: Restore does not handle bad or missing tapes well. Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 17791 >Category: bin >Synopsis: Restore does not handle bad or missing tapes well. >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Apr 4 10:10:01 PDT 2000 >Closed-Date: >Last-Modified: >Originator: Christopher T. Johnson >Release: FreeBSD 4.0-RELEASE i386 >Organization: Paladin Software >Environment: FreeBSD 4.0-RELEASE with EXABYTE 8200 >Description: Did full back up of 5GBytes of data onto 4 tapes using dump. First two tapes are full with no errors. 3rd tape had IO error shortly into writing. Dump then asked for 4th tape and completed the dump to that tape. On restoring this data, when restore found the IO error on tape 3 it did not allow a method for moving on. Selecting "continue" caused it to retry over and over again. Never moving past the error, never generating an ENOSPACE (End of Tape) error. When the question is answered "no" the restore ends. restore -Rf /dev/rsa0 demanded tape 3 again, it wouldn't let me put tape 4 into the drive. Modifying /usr/src/sbin/restore/tape.c to make 'R' ask the user for the tape volume number. This allowed me to move on to the last tape which then told me about lots of missing files (Lost on the dump or restore?) Finally it read the last of tape four and ended WITHOUT SETTING OWNERS OF PERMISSIONS! >How-To-Repeat: see description. >Fix: Well, this will get the data in but I don't like it at all. RCS file: /usr/cvsroot/src/sbin/restore/tape.c,v retrieving revision 1.16 diff -u -r1.16 tape.c --- tape.c 1999/08/28 00:14:08 1.16 +++ tape.c 2000/04/03 06:13:57 @@ -315,7 +315,7 @@ again: if (pipein) done(1); /* pipes do not get a second chance */ - if (command == 'R' || command == 'r' || curfile.action != SKIP) { + if (command == 'r' || curfile.action != SKIP) { newvol = nextvol; wantnext = 1; } else { >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message