Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <4215ED73.9030907@byu.net> Date: Fri, 18 Feb 2005 06:28:19 -0700 From: Eric Blake User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Bug in 'find' 4.2.11-CVS when traversing NTFS mount points References: <20050217095204 DOT 10858 DOT qmail AT web54010 DOT mail DOT yahoo DOT com> <20050218085852 DOT GA21141 AT cygbert DOT vinschen DOT de> In-Reply-To: <20050218085852.GA21141@cygbert.vinschen.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Corinna Vinschen on 2/18/2005 1:58 AM: > > The reason for your problem is that Cygwin doesn't check for volume mount > points. FWICT, there's a very simple solution for that, calling a specific > Windows function (GetVolumePathName) from inside Cygwin. > > But I'm sure you don't want that. Using this function inside of Cygwin > slows down Cygwin incredibly, because that function is staggeringly slow. > I called find in medium sized directory trees and find needed about 10 > times longer to traverse the directory tree than without this function. > > Sorry, but there's currently no good solution for that. Both find and coreutils df use the gnulib module mountlist.c to build an internal cache of all mount points up front, rather than constantly querying if a particular directory is a mount point. Is it not possible for cygwin's implementation of getmntent() to also return junctions/reparse points as mount table entries, to give an accurate picture of all mount points to tools that need it? Mount points don't usually change during operation, so cygwin could take the same approach of caching all Windows mount points up front at the same time it caches cygwin mount points; isn't it possible for such caching to be done once as cygwin1.dll initializes and shared, rather than once per process that uses cygwin1.dll? Yes, I know, PTC. - -- Life is short - so eat dessert first! Eric Blake ebb9 AT byu DOT net -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD4DBQFCFe1z84KuGfSFAYARAsFXAJiPSk/TjReT/ykBnS3cs7f1lhI2AKC5iTke nS2WjvgVucZ9qMIXUF9+kg== =NJSl -----END PGP SIGNATURE----- -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/