X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2AB8B385842C
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1704741778;
	bh=3E2CYiw+x2YxqCRAvPACyxIVCqbk2z03SNLx0xkiY6E=;
	h=Date:To:Subject:References:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
	 From;
	b=LctvkZ+RkJoiZV4NmI6L+ZgfehGBRe2ZHUtS+Et4afUsM4Ze9/JDCIw0dqgZk09MN
	 /CQUwuX7Y4LKmMbqy8KgkebfCsTBsGzjo/6SZn3q7i1dBdTzEt+TBKnNnD4ROZ7wFj
	 7AmiT5hAUt4JVJk8ys5Cl2m1VGqgJCQNnPEaPqjk=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EA1123858C62
Date: Mon, 8 Jan 2024 20:21:58 +0100
To: cygwin@cygwin.com
Subject: Re: Cygwin generates syscalls for *.lnk files on filesystems with
 native symlink support?
Message-ID: <ZZxLVnNZJP7jOo7Z@calimero.vinschen.de>
Mail-Followup-To: cygwin@cygwin.com
References: <CALXu0UfRxk5G=3OjbwoNFW7xSj1rHTNw5giS6YZb9p1gF5ceTA@mail.gmail.com>
 <ZPHDrz7VedOBROtT@calimero.vinschen.de>
 <CALXu0Ue9SyJod+0k24pQzs3KPg1RPquRfhN3tw3GYG-qMt_+DQ@mail.gmail.com>
 <ZZv_K1NyxE-btqQt@calimero.vinschen.de>
 <266017637.5531727.1704733902023@mail.yahoo.com>
 <ZZw65R578QtNO_4E@calimero.vinschen.de>
 <487617694.5562874.1704739459687@mail.yahoo.com>
 <2f4c9914-1285-42f0-b841-69335687713a@secure-endpoints.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <2f4c9914-1285-42f0-b841-69335687713a@secure-endpoints.com>
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.30
Precedence: list
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
 <mailto:cygwin-request@cygwin.com?subject=unsubscribe>
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: Corinna Vinschen via Cygwin <cygwin@cygwin.com>
Reply-To: cygwin@cygwin.com
Cc: Corinna Vinschen <corinna-cygwin@cygwin.com>
Content-Type: text/plain; charset="utf-8"
Errors-To: cygwin-bounces+archive-cygwin=delorie.com@cygwin.com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie.com@cygwin.com>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 408JMwm9007649

On Jan  8 14:17, Jeffrey Altman via Cygwin wrote:
> On 1/8/2024 1:44 PM, matthew patton via Cygwin wrote:
> > > Cygwin does not create symlinks as junctions.  No idea where you got that idea.
> > $ echo $CYGWINwinsymlinks:nativestrict
> > $ /usr/bin/ln -s default.GGG6q test1
> > 01/08/2024  01:24 PM    <JUNCTION>     test1 [...]Type=File
> > $ (unset CYGWIN; /usr/bin/ln -s default.GGG6q test2.nocygwin)
> > 01/08/2024  01:25 PM    <JUNCTION>     test2.nocygwin [...]Type=File
> 
> JUNCTIONS are a type of reparse point tag. Many tools report things as
> JUNCTIONS when they don't know what else to call it because JUNCTIONS were
> the only type of reparse tag commonly used.
> [...]
> As part of this reply I will note that the NTFS symlinks differ from POSIX
> symlinks in significant ways
> 
> 1. A pre-existing file system object is required in order to attach a
>    reparse tag
> 2. The type of the target must be known when the reparse tag is applied
>    to a pre-existing file system object
> 3. The reparse tag may be removed and replaced any number of times
>    without deleting the pre-existing object to which it is attached.  
>    Whereas a POSIX symlink inode target cannot be altered once
>    created.  The inode must be deleted and replaced.
> 4. The Windows file APIs do not behave as many applications expect them
>    to when a symlink reparse tag is present.  For example, opening a
>    file handle will traverse the reparse tag and open the target but
>    the file info api when given the same path will return the
>    information belonging to the object on which the reparse tag was
>    applied.   This breaks many applications such as the java runtime
>    among others.
> 
> Jeffrey Altman

Thanks, Jeffrey.  I couldn't have expressed it so nicely.  Very well
summarized.


Corinna

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

