Win98: GetDiskFreeSpace fails on shares

Corinna Vinschen corinna-cygwin@cygwin.com
Thu Jun 16 12:39:00 GMT 2005


Hi,

while doing some debugging on 98SE, I just found to my surprise the
following problem:

$ mount | grep coreutils
\\cathi\coreutils-5.2.1 on /home/corinna/src/coreutils-5.2.1 type system ...

$ df /home/corinna/src/coreutils-5.2.1
df: `/home/corinna/src/coreutils-5.2.1': Function not implemented

It turned out to be the GetDiskFreeSpace function which fails with 
Win32 error ERROR_NOT_SUPPORTED.

This does not happen when the share is accessed using a drive letter:

$ umount /home/corinna/src/coreutils-5.2.1
$ net use e: \\cathi\coreutils-5.2.1
$ mount e: /home/corinna/src/coreutils-5.2.1
$ df /home/corinna/src/coreutils-5.2.1
Filesystem           1K-blocks      Used Available Use% Mounted on
e:                   117209088  48351232  68857856  42% /home/corinna/src/coreutils-5.2.1

Funny though, that this is supposed to be a bug in the first Win 95 release
only, according to MSDN:

  Windows 95:  The initial release of Windows 95 does not support UNC paths.
  Therefore, you must temporarily map the UNC path to a drive letter, query
  the free disk space on the drive, then remove the temporary mapping. 

  Windows 95 OSR2 and later support UNC paths.

Can anybody reproduce this or is this just on my machine?

Anyway, does anybody here have a nice idea how we can workaround this for
9x in the statvfs function in syscalls.cc?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          mailto:cygwin@cygwin.com
Red Hat, Inc.



More information about the Cygwin-developers mailing list