X-Recipient: archive-cygwin@delorie.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6B431385022D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
	s=default; t=1692348297;
	bh=MWcEI/cSgI8SZRNZWDizAYlvYhnMa7MNDIZAmu8EC5o=;
	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=rimIFsCgqMCOz+F0fF2+JXgb7/+/0E/pDemZpKBV/nrzy1G3Mic6dMSIvBQR3VlQR
	 aG6p6e60Zuu/CMyP4+/zvU3sYtcLTMSvm/h9f99fw+GaHQcRhzEsr9lFtg53Iv+OMC
	 8nK7Q8jF44B6cyQ+9E1y1er61R9CSHcvdBRwof08=
X-Original-To: cygwin@cygwin.com
Delivered-To: cygwin@cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 164A43858401
Date: Fri, 18 Aug 2023 10:44:17 +0200
To: cygwin@cygwin.com
Subject: Re: How does Cygwin detect MSFT NFSv3 file system? Re: Weird (path)
 problems with cygwin test release 3.5.0-0.384.g9939aa7d0945.x86_64 ...
Message-ID: <ZN8vYctyNP0HRrbU@calimero.vinschen.de>
Mail-Followup-To: cygwin@cygwin.com
References: <a0f1e420-ae48-49a3-9300-c56f1948ad9b.8d485f54-9f47-42b0-bdcb-9635fbf663c3.6697971f-86bc-49dc-8072-c37095eed858@emailsignatures365.codetwo.com>
 <a0f1e420-ae48-49a3-9300-c56f1948ad9b.93e247b8-206a-49dd-b71c-9240681180cb.7748cdc6-d053-4197-9372-3b4751ae3949@emailsignatures365.codetwo.com>
 <a0f1e420-ae48-49a3-9300-c56f1948ad9b.e52b7f5f-5a09-4346-99f8-a6591191169c.10af45d3-4cfc-48f7-a293-b6d9fa78cdd1@emailsignatures365.codetwo.com>
 <AM5PR0502MB30752878C878948E660A73179210A@AM5PR0502MB3075.eurprd05.prod.outlook.com>
 <ZNoAR4fBMXknsn5z@calimero.vinschen.de>
 <CAKAoaQn47pu510onZDwh4baES-bhxtuSy3SxDCv7sXw5T94pzA@mail.gmail.com>
 <CAKAoaQnvSZDD6mitFsdD==aOi0n9h3JSAEiJo8QXCRAf58H_Sw@mail.gmail.com>
 <ZNqU5c5pMS2cQbsc@calimero.vinschen.de>
 <CANH4o6OBo-vHUps6BbCn0X-w8Y49AADwB7PRfXPr+OH7GQ5TkQ@mail.gmail.com>
MIME-Version: 1.0
Content-Disposition: inline
In-Reply-To: <CANH4o6OBo-vHUps6BbCn0X-w8Y49AADwB7PRfXPr+OH7GQ5TkQ@mail.gmail.com>
X-BeenThere: cygwin@cygwin.com
X-Mailman-Version: 2.1.29
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 37I8iw9U013677

On Aug 17 20:49, Martin Wege via Cygwin wrote:
> On Mon, Aug 14, 2023 at 10:56 PM Corinna Vinschen via Cygwin
> <cygwin@cygwin.com> wrote:
> > and the result is the same.  Note that Cygwin supports MSFT NFSv3 but
> > not CITI NFSv4.1 internally.  No gurantee that Cygwin always does what
> > is necessary for that other NFS.
> 
> 1. How does Cygwin detect whether something is a MSFT NFSv3, or not?
> Cygwin /bin/mount lists the CITI NFSv4.1 as 'nfs', so there *IS*
> something which detects that?

The filesystem name returned by NtQueryVolumeInformationFile is "NFS".
If any other NFS returns the same filesystem name, it will be treated
just like MSFT NFSv3.

> 2. Are Cygwin soft link handing depend on MSFT NFSv3 or not, i.e. does
> the Cygwin soft link code behave differently for MSFT NFSv3 file
> systems?

Yes.  NFS doesn't support symlink creation and symlink reading via
the usual functions, because Windows symlinks are created as reparse
points.  NFS doesn't support reparse points.  So the developers of
the MSFT NFS client had to invent their own way to create and
read NFS symlinks:

https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/path.cc;hb=HEAD#l1719

https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/path.cc;hb=HEAD#l2750

> 3. Does Cygwin implement the pathconf() api?

Yes.  Surprisingly, you can check this yourself by just calling the
function and trying to compile your code.


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

