Date: Fri, 12 Sep 1997 18:28:28 +0000 (GMT) From: Terry Lambert <tlambert@primenet.com> To: mike@smith.net.au (Mike Smith) Cc: hackers@FreeBSD.ORG Subject: Re: IDE Zip drive, challenge! Message-ID: <199709121828.LAA01708@usr05.primenet.com> In-Reply-To: <199709120833.SAA02046@word.smith.net.au> from "Mike Smith" at Sep 12, 97 06:33:13 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> OK, so we all know that there are IDE Zip drives out there, and > moreover that they are pretty cheap. They perform fairly poorly, but > media are cheap and the drives themselves are fairly ubiquitous. > > There's a local ISP building systems using them as boot drives for > routers and terminal servers, simply because they can swap the OS on a > system by rebooting it and changing disks. I recommend against using non-fixed disk drives as boot drives on machines that are ever going to run MS OS's, BTW. There is a bug in the removable media miniport driver in Windows 95/NT that will cause cache corruption when you page from the device. I know that this isn't an issue in this particular case, since FreeBSD doesn't have the bug, but in case some of you were thinking of going multiboot yourselves using a ZIP (or JAZ) disk. The exception is that with an AHA2940, you can specify that a SCSI removable media disk be treated as a fixed disk; this causes it to use the fixed disk driver instead. The specific problem is in the IFS in the FS_OpenFile and FS_ReadWrite with the R0_SWAPPER_CALL flag. The NT code seems to follow the same model, from what I can tell running WinICE. > However, there are a couple of problems with these drives that need to > be addressed by an enterprising IDE hacker with access to one of these > drives. > > 1) The drive is not locked when the disk is mounted. Using the "designate as fixed disk" workaround will damage the ability of your OS to do this at all. > 2) Once a disk has been ejected and another inserted, the disk > reports an error condition that the IDE driver can't handle. Using the workaround will damage the ability to eject the disk except at boot phase. In general, as well, IOmega is historically known for volume identifier problems. The soloution in UNIX drivers (which Darren Davis implemented in UNIX-land) is to, as part of format, affix a volume identifier to the disk, and monotonically increase th identifier on each format. To overcome this issue requires reading the identifier, and discarding existing cached data. You can watch for media change notification events to decide when you need to do this. For IDE, the check is unfortunately vendor private. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709121828.LAA01708>