Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

>32 Meg Partitions

20 views
Skip to first unread message

Russ Kepler

unread,
Apr 20, 1989, 6:35:21 PM4/20/89
to
In article <21...@valhalla.ee.rochester.edu> j...@ee.rochester.edu (John Lefor) writes:
>As I recall Compaq DOS 3.31 and DOS 4.x do support disk
>partitions bigger than 32Meg.

On a similar note Microsoft has admitted to a bug (surprise,
surprise) in MS-DOS 4.01. It would seem that accessing a file
greater than 32Mb in length in particular patterns would cause
'fata corruption' in the file.

For a reference see the April 17 issue of Info World, page 3.

Microsoft is offering a patch on its' Compuserve porum and claims
that versions shipped after April 7 don't contain the error. I
wonder how we are supposed to tell if the version that we get was
shipped after April 7th?

--
Russ Kepler - Basis International
SNAILMAIL: 5901 Jefferson NE, Albuquerque, NM 87109
UUCP: {backboneishsite}!unmvax!bbx!russ
PHONE: 505-345-5232

Lee Fisher

unread,
Apr 24, 1989, 7:50:49 PM4/24/89
to
Russ Kepler (ru...@bbx.UUCP) writes:
...

> On a similar note Microsoft has admitted to a bug (surprise,
> surprise) in MS-DOS 4.01. It would seem that accessing a file
> greater than 32Mb in length in particular patterns would cause
> 'fata corruption' in the file.
>
> For a reference see the April 17 issue of Info World, page 3.
> Microsoft is offering a patch on its' Compuserve porum and claims
> that versions shipped after April 7 don't contain the error. I
> wonder how we are supposed to tell if the version that we get was
> shipped after April 7th?

What's "fata corruption"? :-)

Yes, a problem was recently found in DOS versions 4.00 and 4.01 which
can cause FAT corruption when files that are larger than 32MB in size
are appended to. The bug is manifested if each and every of the
following occur:

1. BUFFERS (CONFIG.SYS command) are allocated with secondary cache
enabled.
2. Greater than 32MB disk partition is in effect.
3. The user is sequentially accessing a file and any part of that file
falls within the range of 32MB to 32MB + 10K on the disk, and the
portion of the file being accessed falls between that same narrow
range.
4. Immediately after sequentially accessing this file, the user
performs an operation that causes the system to read a FAT (file
allocation table) sector.

If all of these conditions are true, the result is a corruption of the
FAT (and loss of data). The chance of all of the above occuring in
the sequence described is remote.

Microsoft has provided a patch utility that corrects this problem.
The name of the utility is PATCH.EXE. A description file, READ.ME, is
included to provide instruction on how to use the PATCH.EXE program.
These two files have been archived into the archived file DSPTCH.ARC.
This archive is available in various information services, such as
Microsoft OnLine and Compuserve.

The patch, has a /F switch (ala CHKDSK), which will allow the actual
patch to occur. Otherwise, it will not modify the DOS system file. If
this switch is not used, PATCH.EXE will examine the boot disk and
determine if the system needs to be patched. The system should be
rebooted after the patch occurs.

I've just submitted this file to the comp.binaries.ibm.pc newsgroup
(via ibmpc-b...@bsu-cs.bsu.edu); I don't have any idea about when
this will be queued for distribution.

Oh, while I'm at it, I'd like to clarify a statement made in an
earlier message on this topic by Rahul Dhesi (dh...@bsu-cs.UUCP):

> I understand that >32 meg partitions use 32-bit FAT entries
> instead of 12 or 16 bit entries.

The >32MB partition type, new to DOS 4.0, is partition type 6. The
size of the FAT of one of these partitions is still 16 bits -- *not*
32 bits. For such large partitions, the normal BPB's total sector
WORD is 0, but the extended BPB's total sector DWORD contains the
actual value. The block disk device driver (in IO.SYS) in previous
DOS versions was limited to accessing 32MB because of the 16-bit
starting sector number in the Request Header. Access to partition 6
in DOS 4.0 takes place via extended device drivers. These extended
drivers differ from previous versions in their ability to support 32
bit sector numbers. A new device attribute bit was added to indicate
that the device can process a 32 bit sector. For DOS 4.0, the word
value for starting sector was changed to a double word (32 bits).
This was done by adding a DWORD field to the end of the request
packet.

Information on how the device driver interface has changed for this
new large partititon type is covered in the "Microsoft MS-DOS 4.00
Programer's Reference" as well as the "IBM PC-DOS 4.00 Technical
Reference".
--
Lee Fisher, le...@microsoft.com.UUCP, leefi%micr...@uw-beaver.MIL,
{uw-beaver,decvax,decwrl,intelca,sun,tikal,uunet}!microsoft!leefi
Don't blame my employer for any of this, its all my opinion.

0 new messages