Re: [PATCH] add GIT_FAST_STAT mode for Cygwin
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Sep 24, 2008, 15:16 UTC
- Message-ID
- <20080924151653.GQ3669@spearce.org>
- In-Reply-To
- <81b0412b0809240809y4daa990cl5494d7b7398353f0@mail.gmail.com>
Alex Riesen <raa.lkml@gmail.com> wrote:
Show 8 quoted lines
> 2008/9/24 Shawn O. Pearce <spearce@spearce.org>: > > > > However Dmitry pointed out that he has cases where this faster > > function doesn't work correctly, and it was path specific. Some > > areas of the filesystem work, others don't, on the same system. > > Huh?! What are they? What paths require cygwin's handling > which aren't handled already? (the absolute paths are handled).
Cygwin lets you mount a filesystem at a different part of the filesystem. Sort of like Linux's mount -t bind (IIRC).
For example its possible to remap C:\foo\bar\widget\srcs into C:\cygwin\home\lib, so you see the files under /home/lib in Cygwin, even though that folder is empty (or flat out doesn't exist) in Windows.
That filesystem remount stuff is part of the reason why the Cygwin stat/lstat routines are so much slower than the native Windows ones. They have to evaluate the path space twice (once in Cygwin, again in the Windows kernel).
-- Shawn.