Registering new |WNNC_NET_*| keys ? / Re: Document support for @ character in UNC paths
Corinna Vinschen
corinna-cygwin@cygwin.com
Wed Feb 26 15:50:21 GMT 2025
On Feb 26 16:23, Roland Mainz via Cygwin wrote:
> On Wed, Feb 26, 2025 at 2:36 PM Corinna Vinschen via Cygwin
> <cygwin@cygwin.com> wrote:
> >
> > On Feb 26 11:15, Roland Mainz via Cygwin wrote:
> > > On Wed, Feb 26, 2025 at 2:22 AM Jeremy Drake via Cygwin
> > > <cygwin@cygwin.com> wrote:
> > > > On Tue, 25 Feb 2025, Takeshi Nishimura via Cygwin wrote:
> > > > > No, it's beegfs.sys you install.
> > > > > SMB is not used, it uses its own protocol. If you do a
> > > > > FileRemoteProtocolInfo query the protocol field says it's a
> > > > > WNNC_NET_RDR2SAMPLE.
> > > >
> > > > Always nice when a driver doesn't change "sample" idenfiers. It seems
> > > > Virtualbox shared folders also squats on this identifier. I imagine
> > > > things don't go well if one attempts to install beegfs.sys on a virtualbox
> > > > virtual machine with their guest drivers installed...
> > >
> > > I think the problem is that no one in the OpenSource world really
> > > knows how to register new |WNNC_NET_*| keys. QEmu shared folders,
> > > DOKANY, ms-nfs41-client, etc. all use |WNNC_NET_RDR2SAMPLE| because
> > > the sample filesystem code uses that.
> >
> > So if ms-nfs41-client uses WNNC_NET_RDR2SAMPLE, we don't have to handle
> > these shares when checking the WNNC_NET_MS_NFS provider. While it would
> > be nice if the nfs v4 driver would use some other WNNC type,
>
> Our plan is to get our own |WNNC_NET_*| key value if we can find the
> person at Microsoft which is maintaining that list (preferred key
> names would be |WNNC_NET_MSNFS41CLIENT| (for CITI's ms-nfs41-client)
> and |WNNC_NET_MSNFS42CLIENT| for our version.
>
> And at the same time maybe help DOKANY&co to get their own
> |WNNC_NET_*| key, too.
>
> > this is
> > at least helpful for handling WNNC_NET_MS_NFS shares, because they
> > have more than one quirk...
>
> I know... that's one reason we started working on the ms-nfs41-client
> project, and at the same time it's API being compatible with the
> MS-NFSv3 and the Exceed/OpenText-NFS drivers (that's why we support
> the "NfsV3Attributes" (incl. uid/gid), "NfsSymlinkTargetName",
> "NfsActOnLink" etc. Win32 extended attributes;
> https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/ff4df658-7f27-476a-8025-4074c0121eec
> is still on the ToDo list) - but also extend the functionality, e.g.
> support NFSv4.1 ACLs (mapped to Win32 ACLs via a script-driven
> idmapper), sparse file support (for HPC environments), and
> ms-nfs42-client will add AlternateDataStream support if the NFSv4.1
> server supports NFS "named attributes".
I mentioned it months ago, and I mention it again:
It would be really great if the filesystem name returned by
NtQueryVolumeInformationFile(FileFsAttributeInformation) would not be
"NFS", like the MS NFS, but something like "NFS4" or "NFSv4". This
would allow Cygwin's fs_info::update() in mount.cc to recognize the
filesystem as something special, and the code could call either the
special NFS functions, or the Windows functions, or extra functions just
for NFSv4 as time goes by.
As I mentioned at the same time, patches to recognize the FS as
outlined above, as well as patches to handle it separately where
necessary, are welcome.
Corinna
More information about the Cygwin
mailing list