DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 5BMGeASw1038252 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 5BMGeASw1038252 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=iSZTneDg X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B370C4BA2E06 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1766421609; bh=bmqvMIiUuxqrVW3DbwGmqnadNugg3VWFyRKNxIRv4f4=; h=Date:Subject:To:Cc:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=iSZTneDgstxF0kZHmcqbanEiVh6FckbgyOb0t9LWoYrpA02tKI0VRGuTvXA+hFcH1 SYnQ6JQoEXC68YbyyzK5bah3EodGMbbOaePr1WD4it/+E7mPa+dxquXCf/50Hxb32p w5NChJiohz13gkl5aToLBMkXulZI3MbQxEV12PPg= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 10E824BA2E05 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 10E824BA2E05 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1766421560; cv=none; b=a2fzMPXyalJlaTCSO9kru0s7HOgXi/eBtKMTyR2GqspZikxP1rf3sSnCr3SpgDAtwLErIM0Fr2hbwpvFSHqfIFRrYLVoio5Qz3bVu0tLUfTRs5zoafuov7Ln9wEx/nMImdtXTteZxjSkar6U39TxOwHP+ZVTsEpgiDjUreHB8OM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1766421560; c=relaxed/simple; bh=apS9KXIq9g5+wtJH7WcZWNIzWRCkjoKWdozs/btniCo=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=FHkxjfHd0RLvk+Fph2M7KSL6iaI/h13yOluZRmLo7+OzeFN08WTmuXNJ/c0j71tS3pFf0B6k6O2ltDmrq9dLtOuV0kYCm3QcdIIgguXRLLbkqgyWaKu1KMhlLe/YX2EU/4hbjlfpUAxwc35w+EebdG9EipFCyCYM6vpiMVOqBPU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 10E824BA2E05 X-Barracuda-Envelope-From: moss AT cs DOT umass DOT edu X-Barracuda-RBL-Trusted-Forwarder: 128.119.240.136 DKIM-Filter: OpenDKIM Filter v2.11.0 mailsrv.cs.umass.edu 8BA645BDA4 X-Barracuda-RBL-Trusted-Forwarder: 172.26.69.67 Message-ID: <276f0623-d08a-9048-cfe8-fb93a83394b3@cs.umass.edu> Date: Mon, 22 Dec 2025 11:39:14 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: Why is stat slow? Content-Language: en-US X-ASG-Orig-Subj: Re: Why is stat slow? To: cygwin AT cygwin DOT com Cc: Brian DOT Inglis AT SystematicSW DOT ab DOT ca References: <74bdc787-9099-8e29-492a-588546b6eedb AT cs DOT umass DOT edu> <510a193d-633c-ddf1-68a7-a61b9847cfa8 AT cs DOT umass DOT edu> <30e1a743-0e08-4f00-aafc-82fe7dd9078d AT SystematicSW DOT ab DOT ca> In-Reply-To: <30e1a743-0e08-4f00-aafc-82fe7dd9078d@SystematicSW.ab.ca> X-Barracuda-Connect: mailsrv.cs.umass.edu[128.119.240.136] X-Barracuda-Start-Time: 1766421558 X-Barracuda-Encrypted: TLS_AES_256_GCM_SHA384 X-Barracuda-URL: https://barramail.cs.umass.edu:443/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at cs.umass.edu X-Barracuda-Scan-Msg-Size: 2912 X-Barracuda-BRTS-Status: 1 X-ASG-Debug-ID: 1766421558-24039d6c3d502410001-w5GHUG X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using global scores of TAG_LEVEL=3.5 QUARANTINE_LEVEL=10.0 KILL_LEVEL=9.7 test= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.3.125474 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: Eliot Moss via Cygwin Reply-To: Eliot Moss Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 5BMGeASw1038252 On 12/22/2025 11:28 AM, Brian Inglis via Cygwin wrote: > 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 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. Interesting; so the suggested /etc/fstab line would be this? d: /\d ntfs binary,posix=0,user 0 0 How do I type a path, then, e.g., now I might have /d/foo ... ? Would I have to type /\d/foo ? Regards - Eliot -- 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