i386/66876: [patch] Cannot extract tar(1) multi-volume archive on
floppy drive.
Watanabe Kazuhiro
CQG00620 at nifty.ne.jp
Wed May 19 05:40:12 PDT 2004
>Number: 66876
>Category: i386
>Synopsis: [patch] Cannot extract tar(1) multi-volume archive on floppy drive.
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-i386
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed May 19 05:40:08 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator: Watanabe Kazuhiro
>Release: FreeBSD 5.2.1-RELEASE-p5 i386
>Organization:
>Environment:
System: FreeBSD pisces.zodiac.org 5.2.1-RELEASE-p5 FreeBSD 5.2.1-RELEASE-p5 #0: Tue May 18 00:19:57 JST 2004 nabe at pisces.zodiac.org:/opt/obj/usr/src/sys/VASH i386
(Floppy drive)
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> at port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
This PC is dual-booting FreeBSD 4.7-RELEASE and 5.2.1-RELEASE.
>Description:
I can make tar(1) multi-volume archive on floppy drive.
It can be extracted with FreeBSD 4.7-RELEASE.
But the archive cannot be extracted a same PC with
FreeBSD 5.2.1-RELEASE.
>How-To-Repeat:
(Floppy media: 1.44M/2HD)
# dd if=/dev/zero bs=2m count=1 > test.data
# ls -l test.data
-rw-r--r-- 1 root wheel 2097152 May 19 11:49 test.data
# tar cfM /dev/fd0 test.data
Prepare volume #2 for `/dev/fd0' and hit return:
(Change a medium #2, and the command finished normally)
(Change a medium #1)
# tar xfM /dev/fd0 -C /tmp
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: /dev/fd0: Cannot read: Invalid argument
tar: Too many errors, quitting
tar: Error is not recoverable: exiting now
# ls -l /tmp/test.data
-rw-r--r-- 1 root wheel 1474048 May 19 11:53 /tmp/test.data
#
>Fix:
--- /sys/isa/fd.c.orig Thu Oct 23 14:52:52 2003
+++ /sys/isa/fd.c Wed May 19 11:59:35 2004
@@ -1725,7 +1725,7 @@
/*
* Set up block calculations.
*/
- if (bp->bio_offset >= ((off_t)128 << fd->ft->secsize) * fd->ft->size) {
+ if (bp->bio_offset > ((off_t)128 << fd->ft->secsize) * fd->ft->size) {
bp->bio_error = EINVAL;
bp->bio_flags |= BIO_ERROR;
goto bad;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-i386
mailing list