www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/11/28/22:52:41

Message-ID: <002701c17889$185c9d60$0100a8c0@pentiumii>
From: "Dennis Louie" <dennis-louie AT att DOT net>
To: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
Cc: "Andrew Cottrell" <acottrel AT ihug DOT com DOT au>, <djgpp-workers AT delorie DOT com>,
"Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 1011128103630 DOT 659K-100000 AT is>
Subject: Re: statfs not returning correct cluster size - 7302h and GNU df don't work either
Date: Wed, 28 Nov 2001 19:50:44 -0800
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Reply-To: djgpp-workers AT delorie DOT com

From: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>
Sent: Wednesday, November 28, 2001 12:36 AM
> On Tue, 27 Nov 2001, Dennis Louie wrote:
>
> > BTW, the clusters on drive problem also affects 'df' from GNU file
utilities
> > (fil40b.zip).
>
> How does it affect `df'?

'df' uses statfs(), so the fact that statfs is broken because INT21 Function
36h doesn't work for large FAT32 partitions means 'df' is broken too.


> > Could you send me mail when the statfs problem is fixed?
>
> Fixed--how?  AFAIU, `statfs' does on W2K the best job it could, given
> the system calls implemented by W2K.  How can we fix that?

There must be a DOS function that can be made to return this information
correctly.  Windows XP can determine the correct disk size and available
space.  Similarly, PartitionMagic 7.0 can determine the correct cluster size
(it even lets you change the cluster size in an existing partition). Once
someone finds a workaround, statfs can be made to function correctly.  I
only use Win2K at work and can live with statfs not working on that
platform; I do all of my development on Win98 and now WinXPpro.

The current statfs code doesn't even try to use Functions 7302h or 7303h.
_osmajor is 5 for WinXP and the conditional only tries to execute those
functions if it's between 7 and 10 (whatever Windows versions they
correspond to).  Whoever wrote that code must have some information about
INT21 functions that isn't widely known (yet)...  All I know about DOS
interrupts comes from my V4 Programmer's Reference plus what I've picked up
from individuals like you on this list.

Thanks,
Dennis

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019