This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author tim.peters
Recipients
Date 2001-03-30.04:13:49
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Logged In: YES 
user_id=31435

No, it did not go in.  I asked for a doc patch first so I 
wouldn't have to pee away time trying to guess what it 
does.  Now I've peed away the time, and I don't like it.  
Here's what it returns on my home desktop box (Win98SE, 
20Gb drive):

>>> os.statvfs("c:\\")  # argument is very touchy
(32768, 32768, 65526, 65526, 65526, 0, 0, 0, 0, 1024)
>>>

*Nothing* there makes sense, except for the last "max path" 
result.  Even the "block size" is wrong (the FAT32 fs on 
this box uses 16Kb clusters, not 32Kb).  Digging into the 
MS docs,

"""The GetDiskFreeSpace function returns incorrect values 
for volumes that are larger than 2 gigabytes"""

and

"""Even on volumes that are smaller than 2 gigabytes, the 
values stored into *lpSectorsPerCluster, 
*lpNumberOfFreeClusters, and *lpTotalNumberOfClusters 
values may be incorrect"""

under Win95, and, to judge from my desktop box, it appears 
useless under the latest flavor of Win98 too.

The function the patch uses is obsolete, and a ...Ex 
version is recommended in its place, which

"""returns correct values for all volumes, including those 
that are greater than 2 gigabytes"""

BUT, *that* function isn't available under the original 
Win95, only under Win95 OSR2 and later.  In addition, that 
function only returns number of bytes total and free (as 64 
bit unsigned ints), nothing about block size, # clusters, 
etc.  (OTOH, total bytes is free is what people asked for!  
I don't recall anyone asking for a statvfs() clone)

So bouncing back to you:  how much time do you want me to 
devote to this?
History
Date User Action Args
2007-08-23 15:04:27adminlinkissue410547 messages
2007-08-23 15:04:27admincreate