Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Mar 2026 17:42:52 +0100
From:      Roland Mainz <roland.mainz@nrubsig.org>
To:        freebsd-hackers@freebsd.org, ms-nfs41-client-devel@lists.sourceforge.net
Subject:   Re: [Ms-nfs41-client-devel] FreeBSD-16.0-CURRENT-amd64-20260224: NFSv4.2 on Windows: mkdir fails, touch works
Message-ID:  <CAKAoaQkY8G0Y%2B0wTfT1jer8_QxAmwtnk9EH1eTQJf9FQCGbX9Q@mail.gmail.com>
In-Reply-To: <CAM5tNy4z=DD_F4LEnOsXKqM8feN9f1_e_z_whYcDOXM%2BDfpADw@mail.gmail.com>
References:  <CAAvCNcAVcXUsjZy2XH7MJ4rY85efQAd2cnHuS6cvOUiAksTF1A@mail.gmail.com> <CAM5tNy4z=DD_F4LEnOsXKqM8feN9f1_e_z_whYcDOXM%2BDfpADw@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail

On Sat, Mar 7, 2026 at 10:28 PM Rick Macklem <rick.macklem@gmail.com> wrote:
>
> On Sat, Mar 7, 2026 at 9:27 AM Dan Shelton <dan.f.shelton@gmail.com> 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.
[snip]

It seems to be an issue with |FATTR4_ARCHIVE| ... I filed
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293691 ("NFSv4.1
client trying to set |FATTR4_ARCHIVE| gets EPERM for file/dir creation
attempts") for this, and added
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292283 ("Bug 292283
- (JAVA) NFSv4.1 client trying to set FATTR4_SYSTEM or FATTR4_HIDDEN
gets EPERM for file and dir creation attemps") as reference since the
same kind of workaround seems to work.

Next release for ms-nfs41-client includes a workaround (see
https://github.com/kofemann/ms-nfs41-client/commit/7156d9f9deb25843e57fd455d8ec67951b82c737)
which should avoid this bug, but I will remove that workaround as soon
as a fixed release version of FreeBSD will become available...

----

Bye,
Roland
-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz@nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKAoaQkY8G0Y%2B0wTfT1jer8_QxAmwtnk9EH1eTQJf9FQCGbX9Q>