From owner-freebsd-stable Thu Feb 1 9:33:38 2001 Delivered-To: freebsd-stable@freebsd.org Received: from freebsd.dk (freebsd.dk [212.242.42.178]) by hub.freebsd.org (Postfix) with ESMTP id CC5EB37B4EC; Thu, 1 Feb 2001 09:33:14 -0800 (PST) Received: (from sos@localhost) by freebsd.dk (8.9.3/8.9.1) id SAA66640; Thu, 1 Feb 2001 18:33:11 +0100 (CET) (envelope-from sos) From: Soren Schmidt Message-Id: <200102011733.SAA66640@freebsd.dk> Subject: Re: ast0: TAPE In-Reply-To: <4.2.2.20010201104340.013e00d8@marble.sentex.net> from Mike Tancsa at "Feb 1, 2001 10:57:18 am" To: mike@sentex.net (Mike Tancsa) Date: Thu, 1 Feb 2001 18:33:11 +0100 (CET) Cc: stable@freebsd.org, sos@freebsd.org X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG It seems Mike Tancsa wrote: > > I have been trying out the OnStream DI-30 in STABLE which come up as > ast0: TAPE at ata1-master using WDMA2 > > Dump seems to work with it OK in that I can dump a file system and restore > it OK. But tar does not. I have tried plan old tar and tar with block size > specifications, but no dice. > > ruby2# tar -b 4096 -c -f /dev/nrast0 altq-3.0 > tar: can't write to /dev/nrast0 : Input/output error > > It just gives a series of > ast0: bad request, must be multiple of 32768 > ast0: bad request, must be multiple of 32768 > ast0: bad request, must be multiple of 32768 > ast0: bad request, must be multiple of 32768 > ast0: bad request, must be multiple of 32768 > ast0: bad request, must be multiple of 32768 > > no matter what block size I try. You havn't what it says to you ie 32k blocksize ie: tar cvbf 64 /dev/rast0 bla bla.... > The other quirk I noticed is that after a dump, > ast0: WEOF - ILLEGAL REQUEST asc=24 ascq=00 error=04 Well, the Onstream has no notion of filemarks, at least not the way we support it. > Is this just a limitation of the hardware and driver ? It looks like they > have LINUX support on their web page. Too bad they are not doing the same > for FreeBSD. I have a drive here that onstream sent me back when with docs, but to be brutally honest the drive and especially the firmaware sucks.. The drive has no idea how to handle bad spots on the media, the driver has to read back up to 1 Mbyte worth of buffer when the drive hits a write error, then wind forward some inches, and retry the write again with the queued up and from the OS's Point of view already written data, then if that still fails... you get the point... Another thing is that for this to work, the drive has to be set into a 32.5Kb block mode where the 32K carry userdata, and the 512bytes carry block info, like blocknumber etc, since you have to have that info when reading, since you must keep track of which blocks you have read, since they might be repeated later due to bad spots and the above hit'n'write strategy left one double block around... So, since I have not found a way to deal with this in a satisfactory way (malloc'ing 1 Mbyte worth of buffer in the kernel is not fun), the support we have can't handle tapes with bad spots on it... I wouldn't trust my data to such a poorly implemented device... However the drive sits in one of my dev machines, and I hack on the driver from time to time, so it will probably be supported at some point in the future... -Søren To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message