MS-DOS mount

Richard B. Johnson (root@analogic.com)
Mon, 11 Nov 1996 10:27:02 -0500 (EST)


Hello all:

I use the Adaptec aic7xxx SCSI driver:
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: Quantum Model: XP32150W Rev: L912
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: Quantum Model: XP32150W Rev: L912
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 04 Lun: 00
Vendor: TOSHIBA Model: CD-ROM XM-3601TA Rev: 1885
Type: CD-ROM ANSI SCSI revision: 02

It works perfectly on the ext2 fs that was built on the same machine
using this driver.

However, if I mount a MS-DOS file system and execute 'ls', the machine will
crash. The MS-DOS file system was built using the same controller, but
the Adaptec ROM Bios was used for the driver. The machine also works
perfectly in the MS-DOS environment.

The error messages during the crash, edited to remove the successful
SCSI Abort/Restart messages are:

scsi0: Queue full

The other messages involve time-outs and restart messages that eventually
result in a successful restart if I ^C out of the attempt to obtain
a directory listing.

A cursory check indicates an attempt to access data beyond the physical
limits of the media, i.e., block number 0xafde1203. This seems to indicate
a bug in the MS-DOS file system's FAT. However, MS-DOS chkdsk and scandisk
as well as Peter Norton's NU show nothing wrong with the fs when accessed
from MS-DOS.

If I mount an empty MS-DOS file system, I can create many files and
directories under Linux. I can access all the files I create. Further,
under MS-DOS, the file-system seems perfect. However, once I create
a single new file under MS-DOS (which also seems perfect), any attempt
to use the file-system under Linux fails. My gut feeling is that the
MS-DOS FAT entry of 0xFFFF, which is used to mark the last allocation
unit in a chain, is somehow not being correctly interpreted by somebody.
I have heard that this is a MS-DOS V6.xxx bug that has to be accomodated
from now on (you gots da money, you makes da rules). Is this true?

Does anybody know what causes this problem? I contacted the maintainer
of the driver and confirmed that his patches for virtual to physical
translation are in the current distribution. Such changes should have
nothing to do with sector translation.

Cheers,
Dick Johnson
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Richard B. Johnson
Project Engineer
Analogic Corporation
Voice : (508) 977-3000 ext. 3754
Fax : (508) 532-6097
Modem : (508) 977-6870
Ftp : ftp@boneserver.analogic.com
Email : rjohnson@analogic.com, johnson@analogic.com
Penguin : Linux version 2.1.8 on an i586 machine.
Warning : It's hard to remain at the trailing edge of technology.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-