From owner-freebsd-bugs Tue Jun 18 14:23:05 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id OAA27894 for bugs-outgoing; Tue, 18 Jun 1996 14:23:05 -0700 (PDT) Received: from irz301.inf.tu-dresden.de (irz301.inf.tu-dresden.de [141.76.1.11]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id OAA27855 for ; Tue, 18 Jun 1996 14:22:50 -0700 (PDT) Received: from sax.sax.de by irz301.inf.tu-dresden.de (8.6.12/8.6.12-s1) with ESMTP id XAA24717; Tue, 18 Jun 1996 23:22:36 +0200 Received: (from uucp@localhost) by sax.sax.de (8.6.12/8.6.12-s1) with UUCP id XAA26976; Tue, 18 Jun 1996 23:22:35 +0200 Received: (from j@localhost) by uriah.heep.sax.de (8.7.5/8.6.9) id WAA09383; Tue, 18 Jun 1996 22:55:14 +0200 (MET DST) From: J Wunsch Message-Id: <199606182055.WAA09383@uriah.heep.sax.de> Subject: Re: bin/1320: dump limits blocksize to 32K To: gwk@cray.com Date: Tue, 18 Jun 1996 22:55:14 +0200 (MET DST) Cc: bde@zeta.org.au, freebsd-bugs@freefall.freebsd.org, gpalmer@freebsd.org Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) In-Reply-To: <199606181304.PAA00455@racer.dkrz.de> from "Georg-W. Koltermann" at "Jun 18, 96 03:04:57 pm" X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E X-Mailer: ELM [version 2.4ME+ PL17 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk As Georg-W. Koltermann wrote: > a) If physio() is broken for sizes > 64 kB, why doesn't the kernel > return an error to the user if physio gets an I/O request > 64 kB? It splits the request into 64 KB chunks, so it can handle them. This works mostly except for tapes, which are IMHO the only devices that might require a physical blocksize larger than 64 KB (raw SCSI commands like WRITE BUFFER suffer from it as well). > b) If physio() is broken for sizes > 64 kB, why was I once able to > pull a cpio archive off my /dev/rwt0, specifying a blocksize of > 2 MB? I chose that large block size in order to avoid permanent > start/stop on the tape drive. Worked quite well for me as I > remember. Your blocksize was an integral multiple of 64 KB, so you might not have noticed the split. (In particular, QIC-150 tapes are always blocked at 512 bytes, so it's irrelevant.) The problems arise only when I) interchanging variable-length blocked tapes with other systems that can handle blocksizes of > 64 KB, like it happened to Jordan's SGI tape, or II) using a blocksize that is not a multiple of 64 KB like 96 KB. All integral multiples of 64 KB are handled like 64. -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)