Question about slow access to file information

Christian Franke Christian.Franke@t-online.de
Sat Jan 14 16:38:42 GMT 2023


Eliot Moss via Cygwin wrote:
> I have a separate drive mounted this way:
>
> d:/ /cygdrive/d ntfs binary,posix=0,user,noacl,auto 0 0
>
> One thing I use it for is to store backup files.  These tend to be 2 Gb
> chunks, and there can be hundreds of them in the backup directory.  
> (The drive
> is 5Tb.)  The Windows Disk Management tool describes it as NTFS, Basic 
> Data
> Partition.
>
> Doing ls (for example) takes a very perceptible numbers of seconds 
> (though
> whatever takes a long time seems to be cached, at least for a while, 
> since a
> second ls soon after is fast).

The problem is the 'noacl' mount option and the fact that POSIX only 
offers the *stat*() functions to retrieve file information. These 
functions always need to provide the full file information, even if only 
a small subset is needed.

To determine the 'x'-permission bits in the 'stat.st_mode' field on a 
'noacl'-mount, Cygwin reads the first bytes of most files (all except 
*.exe, *.lnk, *.com). The 'x' bits are set if the file starts with "#!" 
(script), ":\n" (?) or "MZ" (Windows executable).

On 'noacl' mounts, this behavior could be suppressed by 'exec' or 
'noexec' mount options.

-- 
Regards,
Christian



More information about the Cygwin mailing list