Re: [Ms-nfs41-client-devel] FreeBSD-16.0-CURRENT-amd64-20260224: NFSv4.2 on Windows: mkdir fails, touch works

Rick Macklem <[email protected]>
Newsgroups gmane.os.freebsd.devel.hackers
Message-ID <CAM5tNy4z=DD_F4LEnOsXKqM8feN9f1_e_z_whYcDOXM+DfpADw@mail.gmail.com>
On Sat, Mar 7, 2026 at 9:27 AM Dan Shelton <[email protected]> wrote:
>
> Hello,
>
> some odd issue with FreeBSD 16.0-CURRENT main-n284403-895a97c875a0
> (installed from
> FreeBSD-16.0-CURRENT-amd64-20260224-16822dac32ab-284159-disc1.iso) and
> ms-nfs41-client:
> $ /sbin/nfs_mount -o rw 'F:' 'nfs://42.28.16.228//nfsdata'
> Successfully mounted '42.28.16.228@NFS@2049' to drive 'F:'
> $ cd /cygdrive/f/dsheldon/tmp/freebsdtests
>
> $ touch x
> $ mkdir y_dir
> mkdir: cannot create directory ‘y_dir’: Permission denied
>
> I tried this:
> $ chmod a+rwx .
> $ mkdir y_dir
> mkdir: cannot create directory ‘y_dir’: Permission denied
>
>
> No ACLs involved.
> The same setup works with FreeBSD 15.0.
>
> How can I debug this, or is this a known issue?
Hmm. I don't think anything has changed for mkdir between
15.0 and man/16 in the NFS server code.

- If the mkdir request (actually MKNOD in NFSv4) specifies
  an owner or owner_group, the permissions are checked as follows:
  - For setting owner to anything other than the uid of the caller in
    the RPC request's credentials, the caller must be root and the
    file system exported -maproot=root.
 - For setting an owner_group, the gid owner_group maps to must
   be in the gid list of the RPC's credentials.

I'd suggest you capture packets when the mkdir fails and then..
- Either look at them in wireshark yourself and see what attributes
  are being set by the operation. In particular, check for any ACL
  being specified (I know you said ACLs are not involved, but..)
  along with OWNER and OWNER_GROUP.
or
- Make the packet capture available to me and I'll look at it.

I suspect the NFS4ERR_PERM is being generated because of
the attributes being set by the MKNOD operation and I suspect
there is some difference between how you have 15.0 configured
and main/16 configured.
- Are you exporting the same file system type (UFS or ZFS) for
  both and are you exporting them in the same way?
- Are the group and passwd databases the same for bith 15.0
  and main/16?

rick
ps: For example, ZFS has NFSv4 ACLs enabled by default,
      whereas UFS only has them enabled when mounted with
      the "nfsv4acl" mount option.

>
> Dan
> --
> Dan Shelton - Cluster Specialist Win/Lin/Bsd
>
>
> _______________________________________________
> Ms-nfs41-client-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ms-nfs41-client-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.