[maybe-ITP] gamin

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Mar 21 11:53:00 GMT 2006

On Mar 18 15:13, Lapo Luchini wrote:
> > May I suggest to use GetFullPathName on the incoming path first?
> > Then you can savely remove the "if (isalpha(lpszFileName[0])) {"
> > part.
> OK, will modify it ASAP (which can be a while, graduation thesis
> deadline in less than 2 weeks...).
> BTW: would this only be useful to gamin or could be useful enough to
> be included in cygwin1.dll?

Thanks for your offer, but I think Cygwin will not need it.

First of all, calling GetVolumePathName is *incredibly* slow.  Since the
root directory is evaluated on each path handling right now, the cost of
using GetVolumePathName is unbearable.

The next problem is that the Cygwin function requesting volume
information uses the Win32 function GetVolumeInformation, which needs
the path to the root directory, unfortunately.  This is still required
as long as we support 9x (blerch), but on NT, the underlying native
volume information function ZwQueryVolumeInformationFile doesn't need
the root path at all.  A handle to any file or directory on the volume
is sufficient, so in turn there's no need to know the Win32 root
directory anymore to request information when using this function.

Consequentially I'm planning to change the volume handling in Cygwin in
the near future (for 1.5.21), so that evaluating the volume root
directory will only be required on 9x.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

More information about the Cygwin-apps mailing list