delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/12/22/11:29:11

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 5BMGTBhj1034383
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 5BMGTBhj1034383
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=lWBTK+Q4
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0B3DC4BA2E04
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1766420950;
bh=XskuaP8L5rDO08W1l3l+x7Syu8HCBCVaE3ct12jV3UM=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
From;
b=lWBTK+Q4uigk3qY+8wBb45FRxRANqBeODN5jzgaG6rRxmfkLaAY++WEink4gCIrlF
6sKSfqRbp/1DzZvD9qUTrrNX7ZKVDaPfwEAVr4rXNlwbYXwxAoM8JzEUY2qmrYVmeX
NO3i0/IV7okUrJQuW5NNREZgybiFQ6nXzTspz2O8=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9F8304BA2E1E
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9F8304BA2E1E
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1766420900; cv=none;
b=g3FJvKsCsGmb8R2BsP0udVY0vjETldp2JMBie6L+rR+Pms4vn5PM7lLW/ueKHDo81GFTQXiyMb+7tXkJ22sh4vWgmIxwhBOOCXZ4/JetYMNrZFUraz32Y5E4D7IleK+lBNiGRMXrRXmyW4sAqKl6oamx98T5SJZQKifeHzDOS18=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1766420900; c=relaxed/simple;
bh=wNVvx9zbrYziMqYutZLDuoMljc003exuGDuMIObu66g=;
h=Message-ID:Date:MIME-Version:From:Subject:To:DKIM-Signature;
b=Zf3YfFp+rhfjqKYtEJOhJQfSdkdlafYDMuziVu9OKQ4miw3mZ5eUSvz8JpqX3CkhSfQr0WMjYBiD6aN8SfuiabCkJEaCUBiYiNxWcoe/UApGGe/NcIst07XWv0twOJM4BnS/jlVEsXsHdKsBhMLN29VguzNcXsMHb1SgYPbJG80=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9F8304BA2E1E
Message-ID: <30e1a743-0e08-4f00-aafc-82fe7dd9078d@SystematicSW.ab.ca>
Date: Mon, 22 Dec 2025 09:28:17 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Why is stat slow?
To: cygwin AT cygwin DOT com
References: <74bdc787-9099-8e29-492a-588546b6eedb AT cs DOT umass DOT edu>
<f7fa49d4-abcd-31da-ca04-f716742d5d83 AT t-online DOT de>
<510a193d-633c-ddf1-68a7-a61b9847cfa8 AT cs DOT umass DOT edu>
Organization: Systematic Software
In-Reply-To: <510a193d-633c-ddf1-68a7-a61b9847cfa8@cs.umass.edu>
X-Stat-Signature: 98t7zi73i3ixad8inm6fdqbtskybkhk5
X-Rspamd-Server: rspamout04
X-Rspamd-Queue-Id: CE40C20012
X-Session-Marker: 427269616E2E496E676C69734053797374656D6174696353572E61622E6361
X-Session-ID: U2FsdGVkX19dXX0anw704VbrRLyDtXxt9A8pEXaV0bs=
X-HE-Tag: 1766420898-405354
X-HE-Meta: U2FsdGVkX1/Rytv4toDncEjXClri/mt4jU9eT26L3ZB7l8CTwcH+phnKCZkSy/0xM1HNSGTF04DamM2DpVdJYMCpGlCfhcFL9tDjzRh7TK0he/ozAMlt8/WZyRCxCIUDLufa5U+x3HgtJpwx3DEMLcigDmwDvS2J3fVIs1XgnvAFkxLCsdccGfs8mua4ooxIdQYSPFNyX9JzBSf37GwS22ckJOmxEMC/Z/UED1C1kyh5ijPft7x5QiA8DtxMHcv1GGckbh9wIZNjRmyF1NumJKDtU4Rvivv0XHyfgGpAhPpyEvtETwZf1kvo4vfZpsst2hT6ytJMSK73mrxDJ9K8x4KNPrxdyQ6M
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Brian Inglis via Cygwin <cygwin AT cygwin DOT com>
Reply-To: cygwin AT cygwin DOT com
Cc: Brian DOT Inglis AT SystematicSW DOT ab DOT ca
Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 5BMGTBhj1034383

On 2025-12-22 08:35, Eliot Moss via Cygwin wrote:
> On 12/22/2025 10:07 AM, Christian Franke via Cygwin wrote:
>> Eliot Moss via Cygwin wrote:
>>> I'm sure this has been asked before, more than once, but I am again wondering
>>> what, specifically, makes stat (the program, but presumably also the syscall)
>>> substantially slower on Cygwin compared to stat on WSL2.  I am talking about
>>> an external HDD (not solid state) on my D: drive.  It shows under WSL 2 as
>>> /mnt/d like this (output of mount):
>>>
>>> D:\ on /mnt/d type 9p (rw,noatime,aname=drvfs;path=D: 
>>> \;uid=0;gid=0;symlinkroot=/ 
>>> mnt/,cache=5,access=client,msize=65536,trans=fd,rfd=5,wfd=5)
>>>
>>> On Cygwin it shows up like this (yes, mount shows two lines):
>>>
>>> D: on /cygdrive/d type ntfs (binary,notexec,posix=0,user)
>>> D: on /cygdrive/d type ntfs (binary,noacl,posix=0,user,noumount,auto)
>>>
>>> My /etc/fstab lines are:
>>>
>>> none /cygdrive cygdrive binary,noacl,posix=0,user 0 0
>>> d: /cygdrive/d ntfs binary,posix=0,user,auto,notexec 0 0
>>
>> In the past, Cygwin did not support individual options for some /cygdrive/X. 
>> If this is still the case, "noacl" without "notexec" is effective for / 
>> cygdrive/d. Then Cygwin reads the header of each file to check for a possible 
>> "x" permission.

>>> (Presumably this has something to do with two mounts showing ...)
>>>
>>> On D; I have a folder with hundreds of 2Gb files (they are backups, split into
>>> 2Gb portions).  On Cygwin
>>>
>>> time stat <the files> gives
>>>
>>> real    2m12.425s
>>> user    0m0.249s
>>> sys     0m1.312s

>> This would explain this long duration.
>>
>> Quick test:
>>
>> $ echo '#!/bin/sh' > /cygdrive/d/script.tmp
>> $ ls -l /cygdrive/d/script.tmp
>> -rwxr-xr-x .... <== notexec unset
>> -rw-r--r-- .... <== notexec set

> Aha!  I changed my /etc/fstab to be like this:
> 
> none /cygdrive cygdrive binary,noacl,posix=0,user 0 0
> d: /d ntfs binary,posix=0,user 0 0
> 
> D: is still available via explicit /cygdrive/d, but that would be without the
> noacl option.  Using /d now the previously slow stat completes in a few
> seconds, reasonable for going over what is now 2000 files.  My memory of
> exactly why is dim, but the noacl seems important for my C: drive.  Using the
> ACLs on D: to determine executability seems good.

Mapping drives to /? causes an issue if you ever want to get help from any 
non-Cygwin Windows console program that uses Windows help conventions /? -> /d: 
I believe using /\? avoids that.

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019