DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 613LGZBt4029706
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 613LGZBt4029706
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=eXoUA4XT
X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 44FDE4BA2E1A
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1770153394;
	bh=KNCgRef0gd0l5Ma3E6MPQrAL1xdrrDwfOd7SxkRyFrU=;
	h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
	 From;
	b=eXoUA4XTC6j3YnKUfDTBYxHAKHrBUlFKGdGQzIMdS0F5aLL+FmesK7SQZxRW6TYyv
	 heB9jG7ZhZV9Ty0dk1WG14c1j3Ll50eZyMtD/lMt7B+B1UHifmi9kOmWlVi4mPKXt2
	 aNDDS0NOR8zDWJKoVHmydxuRij0kckg0GZ/ALZic=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 88B354BA2E08
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 88B354BA2E08
ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1770153344; cv=pass;
 b=VcGAuAgTxkQrzAS5LWMRcSuRAXx44vTRgmfFZNejwGISevtQmz83BSizZFYTaWlDmeP1TVXvNcMDj8QCkocRdcExnhX8DRXDfxFZETVUPCRydeyHSo3weS6QJ0Ff0DDryZ/9wlSP2madZTmX0AEMT5KIS+IsNnlNMClhC/mwN2k=
ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key;
 t=1770153344; c=relaxed/simple;
 bh=2DzVx0vkZspq2xQRn4E+Hbf/cjKR99cfERzHTaJU/Gw=;
 h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To;
 b=ZNZU0rGC2bg3CSWHjopMX8v3qXp87eS/1/v3ewEZalcoSpHvRTH4zPAln3Jx3X1XbVuTmouKFNNuknmj5d6HwSM7JDpfkKyLt0WtWIfw/Hff0jmsW0T/XwXKHIYM+oU3H9O6pRan8u4MlZUnMq1cvdj3wWoGaHaXfQcNyP9BkRA=
ARC-Authentication-Results: i=2; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 88B354BA2E08
ARC-Seal: i=1; a=rsa-sha256; t=1770153343; cv=none;
 d=google.com; s=arc-20240605;
 b=bIne08qAjcsHSt6qWHTnN73dUAO7CoRpOCgkSXnW9XeIU5aOnLvjLwtdqLJOzWkPCu
 Tu1GyxILZoj30ucJH9ZEGmfi/7NvCJh024uBgZ3xu22KK9p/Pyxo86JXpfgT2gtoMBKr
 vm6SfaXR4kdrwWXORsO43cQ0RCbatvPG4ed9YLJWOLFVnijSko/kFQK+R3YQY+NtjieF
 XboZAgIzF6hx0e2v4AoSTdC+8hEGxxm9GZfpORuDRbTO4bilGXMrp8QQCyje+ozdU9Vj
 IW2wafm2CpcFJJDVcAcGQaPyZmAqRZRMqFQj8VRG67ZZr78TgB9qx+yN+1LDiWN1s4Dw
 7dVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;
 s=arc-20240605; 
 h=to:subject:message-id:date:from:in-reply-to:references:mime-version
 :dkim-signature;
 bh=aSD2oV1iEMxgtfM068hwIgTxdHjyK7uXXl3ttFCnNYQ=;
 fh=UKNFaOBO97U3RYl3PEse//nArTqr7SLJjCCEBz281Ew=;
 b=cnQOMI0Ut2ZR1NR971x9Jo79V4ZA3KebSQCdV9ymH+qZLeQ3uWtcr0OGvRtXO8n3m2
 w8DIacICdH8cdvr4q7sSYqVa8lwI+lEjiEeYdj0KoGnc+Dk4+b27aTFgisvrTViem1P7
 brvTJlXpc6DoAQlEL89PJTW4g1WD7tAgAKvP3WXYB0y34NtBm4Ob9SD5wy5anFWXFfUN
 ASanGEmefPMi9BC0vWKwpieBVBeUqN9kV5I3VYGSgSAXBWdiDFsOg9jpVmDRXE/ZPWEO
 8+c6em5vopRtx4gLZk1uy3xQ6YLD3HnqVVSKziK7w4vcrGxDH3jIa7MUv+BdIKjOKGK4
 bmxg==; darn=cygwin.com
ARC-Authentication-Results: i=1; mx.google.com; arc=none
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1770153343; x=1770758143;
 h=to:subject:message-id:date:from:in-reply-to:references:mime-version
 :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=aSD2oV1iEMxgtfM068hwIgTxdHjyK7uXXl3ttFCnNYQ=;
 b=f9LCW7pQZhys6mBRyPmiMKNlmbT6dOVaFShqpfZmA5QzcyVDDUWMNT5AUb8FXRmRN8
 MlI2NttSaROmy8xU+rYyKubnqkvXT5+8gtOyusAYXsdLxC/p7niMJTFa2bmfqqBHCBum
 rwOClyW5erb1Jf1U3RFVZjbpYIKMb8XnJSEVAd5tYPZzjdANFqnPxxTVgBC0TZNEAT0x
 A26GQLCqbWb92iJt1geBLD9lRRtsWN7I37Yyvor0Dl9JkewKG7N4dSejB1300XtNjSMV
 ICW+NH+TRL9hj4KmqHs4kIcJdyjSmlPY8CyLktdWnceOmqOvThz1dABqfmVnn84rtQBf
 PAAw==
X-Gm-Message-State: AOJu0Yx0fvz04gVJdd4im7XsAIcx41fJS9lfd5XzoWIY1HH6vJs4CHiX
 UvRj0VI6TVaEoVIP0Ny5Wy77tmhUf0EHh1vj1vrrjecNSRHKtkG5sTxYjD48+5KfCEAz7EbaSK5
 GT/crpngoLaADjkF0G3/14L1DOlWJ95cmKxCrB1Y=
X-Gm-Gg: AZuq6aK4SVfyrE6b0VysoSFIi1SQ/Qg1MzkXOM90rWf30WsGHPSaJsqb7TUY7LDWw0M
 Qp80PLr2d2/YHZWfxGwOVG1tVXJXXwdOE8+F+U2JVyW64EMnRw6L3FJUkhngfP7e6pq5FsZ2msa
 p6Z3i0/KtVfI4M9p2Sqlo1N1yNrJHTQ90UpFh5/6WMR9wnY9SRBsyJYVnTI/Z032wZPlBjiV3Ji
 l74pdRmeh9AX8PFludo+H3UgNZEaPlrtGNoz7rMkqQ2yyKKhtRvQnMpqkCyQIvKszi8MYI=
X-Received: by 2002:a05:6512:b8f:b0:59d:e589:c95c with SMTP id
 2adb3069b0e04-59e38c2d68dmr255285e87.26.1770153342796; Tue, 03 Feb 2026
 13:15:42 -0800 (PST)
MIME-Version: 1.0
References: <CAAvCNcDzoq3skCwRuYa2LLTTA3xsnK+eDLB8_SegJZinatMUSg@mail.gmail.com>
 <fc1bdd5b-7732-4430-a130-70ef662acd36@dronecode.org.uk>
 <CAAvCNcAAoJeX470QBp9x+A=zSupb_5TpVDeqnbsJS9dtd-oXQg@mail.gmail.com>
 <aYCpYYE1scT7bdaA@calimero.vinschen.de>
 <CAAvCNcASN+pduqG1LT6S1nZhd02-7vFdj5WNNpgkDbrMgV2ZxQ@mail.gmail.com>
 <aYDLGpPYXd0WDSZu@calimero.vinschen.de>
 <CAAvCNcCX6JpMkra_+8nmm3BD0OsZSWwE7EG6JJ5Ab0BwWWkU_Q@mail.gmail.com>
 <aYHn-0fJM2p1KKC3@calimero.vinschen.de>
In-Reply-To: <aYHn-0fJM2p1KKC3@calimero.vinschen.de>
Date: Tue, 3 Feb 2026 22:14:00 +0100
X-Gm-Features: AZwV_QiAsjBS-Y8VDqWfTdtdEbH2TwtXVdbFvL9Jd-TGsA2dCBAjFSKKOX5swQM
Message-ID: <CAAvCNcB5w4EH+P1s9_4OzPzFBP6SDRc4nmgVpOzBjcm8fY=06g@mail.gmail.com>
Subject: Re: git fsck complains about error:
 refs/tags/.cyg000000000559e25517156b51cf219f51/libgcj-2.95.0:
 badRefName: invalid refname format?!
To: cygwin@cygwin.com
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-request@cygwin.com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=subscribe>
From: Dan Shelton via Cygwin <cygwin@cygwin.com>
Reply-To: Dan Shelton <dan.f.shelton@gmail.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie.com@cygwin.com>

On Tue, 3 Feb 2026 at 13:20, Corinna Vinschen via Cygwin
<cygwin@cygwin.com> wrote:
>
> On Feb  3 00:55, Dan Shelton via Cygwin wrote:
> > On Mon, 2 Feb 2026 at 17:04, Corinna Vinschen via Cygwin
> > <cygwin@cygwin.com> wrote:
> > >
> > > On Feb  2 14:47, Dan Shelton via Cygwin wrote:
> > > > On Mon, 2 Feb 2026 at 14:40, Corinna Vinschen via Cygwin
> > > > <cygwin@cygwin.com> wrote:
> > > > >
> > > > > On Feb  2 13:24, Dan Shelton via Cygwin wrote:
> > > > > > I'm not sure whether the Cygwin code is correct. I did a peek with a
> > > > > > kernel debugger, and I see that FILE_RENAME_INFORMATION.RootDirectory
> > > > > > is always NULL if a file gets renamed to .cyg000000000xxxx. But if I
> > > > > > try that with NTFS or SMB, the NtSetInformationFile() to set
> > > > > > FileRenameInformation always fails.
> > > > >
> > > > > Your testcase is incorrect, unfortunately.
> > > > >
> > > > > >     fri->FileNameLength = (wcslen(dstfile)+1)*sizeof(wchar_t);
> > > > >
> > > > > For NT file paths, never count the trailing \0 to the length:
> > > > >
> > > > >       fri->FileNameLength = wcslen(dstfile) * sizeof (WCHAR);
> > > > >
> > > > > With that, your testcase works fine for me.
> > > > >
> > > > > On which filesystem did you see the problem?
> > > >
> > > > Windows NFSv3 client (the builtin one, not the newer NFSv4.1 one).
> > >
> > > The files in question are actually files which got renamed while
> > > in use.  I don't know another way to implement removing in-use files
> > > on remote file systems not supporting delete POSIX semantics.  If
> > > somebody has a brilliant idea, https://cygwin.com/acronyms/#PTC.
> >
> > Did you see that these are directories, not files? How does that happen?
>
> Yes, I saw that.  Same as for files.  Basically something like this:
>
>   mkdir ("dir");
>   fd = open ("dir", O_DIRECTORY);
>   unlink ("dir");
>   fd2 = openat (fd, "file", O_CREAT...);

I'm pretty sure this is a bug in Cygwin, unlink() should not work on dirs
1. unlink() is only defined for files, but not dirs. POSIX says ...
The path argument shall not name a directory ...
2. The /bin/unlink.exe utility says it can only work on files
3. Looking at the SystemV sources you see the NFS client code only
creates .nfsXXXXX files for files, but NEVER for directories
4. Testing this on Solaris 10 Update 8 says the dir is not empty
5. It really breaks git and git's test suite

Dan
-- 
Dan Shelton - Cluster Specialist Win/Lin/Bsd

-- 
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
