DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 533LTRoI3573531 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 533LTRoI3573531 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=E5EcvuQ5 X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 67277384A442 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1743715764; bh=/EBrc5fFcMX52hlsOlSkHMx4bpG+f4m/LOR91wdoKyA=; h=Date:To:cc:Subject:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=E5EcvuQ5nvmGcK9EA+uRSRYRiHVhiS6q2rPit5xSyuMRHWVnz+TowJL+fbHWjgdin 8oi32+cTP0hXq0aaitQMBH6z6BvBC3XZzWhy6EorqA+gEcJSkkjxdGCO+WXEX/7TuY SqO8SNYqy3DT2VURxKYLrk4HRYcwJ8bAZsGI1QFI= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8F9143858D1E ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8F9143858D1E ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1743715698; cv=none; b=KRjV6HTm548OHA274tW3pWK+1KE02uVfh3qA/qYyTTAFM9Lr5LNxFuiwM8nxfmLy9gGZJlnbeOUDPTHrDPoyV+GzoL0hACB+3npTmqtjHRvOIad0vVaeOdKFQIcl8lPVeBlJAn0qf9wnhdB7YCG9Ox6mMIZbZCI5B2nczUumcTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1743715698; c=relaxed/simple; bh=t2REke4IAjHELPkUqLwHO3ZxiH63wtVwa5s924ZrBH4=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=d4o0pz0gYFGbAz+r4b/hcZfJccNK/FZM71tqGfzepmup5xMEut998rXoVQHvSUilc0KVdtkzTQDQmg7RVGA78cOcL9r7IXhlVZl3CQaLK23ZEla5uOpOwpB9emimmi15iHeqxGVGkj+47Us8btFYC3IEfp2uwpXJh7NWkX6t3ak= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8F9143858D1E Date: Thu, 3 Apr 2025 14:28:17 -0700 (PDT) X-X-Sender: jeremyd AT resin DOT csoft DOT net To: cygwin AT cygwin DOT com cc: Ms-nfs41-client-devel AT lists DOT sourceforge DOT net Subject: Re: Windows Remote Driver Identification Re: Cygwin wishlist for NFSv4.2 driver? In-Reply-To: Message-ID: <58d781a4-922f-d795-2396-688c2ac0e6d9@jdrake.com> References: MIME-Version: 1.0 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Jeremy Drake via Cygwin Reply-To: Jeremy Drake Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" On Wed, 2 Apr 2025, Cedric Blancher via Cygwin wrote: > On Tue, 1 Apr 2025 at 13:54, Corinna Vinschen via Cygwin > wrote: > > No, but if we want to *better* support this driver, we need either a > > patch (preferred) or at least info how to distinguish in > > fs_info::update(*) between the MSFT driver and the NFSv4.2 driver. > > That is actually easy: Roland implemented support for > FileRemoteProtocolInformation in > https://github.com/kofemann/ms-nfs41-client/commit/e9f72b61494bebd9e26fefec2659a4511a05b0fd > , and the FILE_REMOTE_PROTOCOL_INFORMATION->Protocol field can be > used to identify the type of driver. > > Examples: > Windows NFSv3 driver uses WNNC_NET_MS_NFS, > OpenAFS uses WNNC_NET_OPENAFS, ms-nfs41-client uses > WNNC_NET_RDR2SAMPLE, and OpenText NFS also uses WNNC_NET_RDR2SAMPLE. > > Plan for ms-nfs42-client is to obtain an own WNNC_NET_MSNFS42CLIENT > tag, and also tags for DOKANY. I thought using WNNC to identify was brought up before and rejected. At this point, it's querying *volume* information, and has a volume handle. It looks like you get FileRemoteProtocolInformation by querying a *file* handle. I could be wrong, and maybe that handle can be queried for FileRemoteProtocolInformation, but it's not like that returns a unique identifier either. What I'm seeing of the things that come through volume information: FileSystemName is either NFS or DEBUG-NFS41 (the latter at least looks unique, if not intended for public consumption). The VolumeLabel is PnfsVolume, the VolumeSerialNumber is always 0xBABAFACE (that's got to suck for the "unique per-drive/share hash" mentioned in mount.cc), the flags are set in https://github.com/kofemann/ms-nfs41-client/blob/bf8d343ba2465926f3bfafa8407a69e79649cf46/daemon/nfs41_superblock.c#L173 What stands out to me in the flags is that they include FILE_SUPPORTS_REMOTE_STORAGE. I'm not sure what that's supposed to mean, above and beyond FILE_REMOTE_DEVICE. MS NFS only seems to set FILE_CASE_PRESERVED_NAMES (2), so the existing flag song-and-dance could probably be extended to tell the difference here. They're also always setting SSINFO_FLAGS_ALIGNED_DEVICE|SSINFO_FLAGS_PARTITION_ALIGNED_ON_DEVIVE| SSINFO_FLAGS_NO_SEEK_PENALTY. -- 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