From nobody Mon Mar 9 23:36:43 2026 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fVD1p4185z6V8Bx for ; Mon, 09 Mar 2026 23:37:02 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fVD1p1nQ2z3hbM for ; Mon, 09 Mar 2026 23:37:02 +0000 (UTC) (envelope-from rick.macklem@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ed1-x52d.google.com with SMTP id 4fb4d7f45d1cf-6615c766e60so7315293a12.3 for ; Mon, 09 Mar 2026 16:37:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773099416; cv=none; d=google.com; s=arc-20240605; b=D7CXNh7PvGJ01VAd0UGsYsR+6r9zLNNUQa1KpcJDr2BVORucZtyK9gKTz6Zm3jt/kH 8yqZg1N8G7Y6XRZz9xcAv+Hs4YyLSTUgIiDN98GDnpEOaXHNBH1WGmAvrW764kHpIAyp UK6wOTVJuAWxmBRVRtZQmZgYK4y3KPeCjucn0YoZKhbz53zsigFiiSYEBpuwnwXEtWSV FuLSPkSSeoifdjMy5ge41m1zF2TCnFORBPgqx5iYrUbPiPHbLjGxzF9ksg2IHE0gl4sU apCsAVYMiOYyNGfuvFi+4nC1yYyfrelosg10vy900aYOdVXzFDtxfz3RbQRmCW1z/ezK Gkjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=QD2Tssyfl7VXnd68tsWcRvp4+zBz2dEMe8Jkq+Sd2LM=; fh=Bqu5heSex3jSfsXktJBhqzcIb2WLwZXFrZMZFMnNFR8=; b=cLtPOxwX/oRysVbXTnbmxoq8Y5VesHO8WC7pg1b17U/smC02rl6s7abQxX9RAAL/Hr 07Nj5kNxxJvCQ+wv+7o6otMn8AenGYB73PjfTCdh4KQ+gc1zcVTRVgegAh/T/GQ8cu4E XfDvAg5yy788JvCePfvlizOATR836vchRtqSgB1wLhWk1PmFSNMVB6CtHexgo0HoVVuH UoXdi7xGGNe37ed8i+wehzWFbcBljGNtxlu2Ssm1vvVeFkzJZZUKbZMdFy6BcBB0aMYa KI4XyY7qIIVPXfTqj5ToolSCK1HBKbgsqBbmT9jHpUlWpRJd+AT/54i+FvrhUkelb0ae yFkQ==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773099416; x=1773704216; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QD2Tssyfl7VXnd68tsWcRvp4+zBz2dEMe8Jkq+Sd2LM=; b=eMRHSJtd+ODkt58xL5XrMbKEnEyOUgJxbRTyInH4gEuwUtg5KccLkKS/z+LXsroE0m Z1Eui0bbbhwXh2WhXpqLExQ5Yxf1sfiB4NQnnR3U1TJ4drDC6205hB00g60tQzUBZiaD 09k0dCMy8yh/oBLePZ5dQ0oN0HgE2JrDA/KMRmXeeApdgd6zsri2a329b44uo3ifuqtQ OcEGGJ9cMAEs3RM4GUrD1qCDBjT5ZWoD7UkMo63XhIFuo1Cy4SyGScD5mUhO7RbAI4P8 Hh8GmzobxWpPlIivk+njFPwAwz6NHyOvnAoE/0thsdl1bAqM2zwWt+r4K/PpAAq3VDOU 72PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773099416; x=1773704216; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=QD2Tssyfl7VXnd68tsWcRvp4+zBz2dEMe8Jkq+Sd2LM=; b=F2aWkKlWG18VH4Oekhq+xJ0TdoZouUFK/HjUNSf1tsOzKQudllI+peXKyWzL1zVrOK rvWvAGwqiBCdQG+vvWwiIGDS8NEBZyLFRWJIZOWY+xScaVLrzNasQa+fl2bugyqIbqXy rqIoavlGzysstKoZcCg49eiJQT0x33ypfG9/SYhPZR+zOoHb2oN1AO85Fr1HFa/khLio rB05Xrs1tnj4H7OCamt4gpQ252fFYhEjocK00qdpmXnn5WDkCt5B+r9vcYgBxqjpiv3v r7yOsmjbWWTQDDEN10/QMEz5XRnQczYvDbsWVWbjFV0Kp3jlMe/USNHHvC22gSN6PCZ8 2Rpg== X-Gm-Message-State: AOJu0Yz732DBNEWkpNBc/es7N93osNfBT6PL+36pkCwyW71y0Jz+/0nP ZRkdInM9QQDX9wgSDmRbrFUinoe2WHMRzqz8cqV0OFSWEoquJc5PXA+VYCK2E0LM/kvlaP+WyaM ejczZoOg3XwnhV52IpdcVNF8hk8m92w== X-Gm-Gg: ATEYQzzjFAhFSai29IEXb2sgnjupek+dxjnwzMnZtU7aZI+ATmNr6sexGkbPoe/GVB3 0Pi7Q0jK25immPKBdgkuf2YIxssg+iNbKzLrYUkKG8czZXnaOMBz/QvUVToTZppu1xVobgggj9/ snWaDOmUOuJZjRV/eip/eLfBJAkox4m1cyxIh5slVaV3d2dQbktFznExe6CT2XfO+98NMb4nRip XLGTEihPjmZXcthjwKGFdm3RNCt9HYS30xcO4T2yJhkxRA6RE0THiSgye6h4hTg8jjGCPJQ5+I9 WwACGZiu47WQ7VIKAhfHOGhaT6kPr6v1vjgixFhB X-Received: by 2002:a05:6402:3510:b0:65f:758f:5833 with SMTP id 4fb4d7f45d1cf-6619d4e374emr6396302a12.21.1773099415475; Mon, 09 Mar 2026 16:36:55 -0700 (PDT) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@FreeBSD.org MIME-Version: 1.0 References: In-Reply-To: From: Rick Macklem Date: Mon, 9 Mar 2026 16:36:43 -0700 X-Gm-Features: AaiRm53enl7du2I3GxhXSNITUlNRiv_AUMijDMNH36sLI5KdiGPr-3DDvJSrHQo Message-ID: Subject: Re: [Ms-nfs41-client-devel] FreeBSD-16.0-CURRENT-amd64-20260224: NFSv4.2 on Windows: mkdir fails, touch works To: Roland Mainz Cc: freebsd-hackers@freebsd.org, ms-nfs41-client-devel@lists.sourceforge.net Content-Type: multipart/mixed; boundary="000000000000cfd7de064c9fe0ab" X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US] X-Rspamd-Queue-Id: 4fVD1p1nQ2z3hbM X-Spamd-Bar: ---- --000000000000cfd7de064c9fe0ab Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Mar 9, 2026 at 9:43=E2=80=AFAM Roland Mainz wrote: > > On Sat, Mar 7, 2026 at 10:28=E2=80=AFPM Rick Macklem wrote: > > > > On Sat, Mar 7, 2026 at 9:27=E2=80=AFAM Dan Shelton 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) an= d > > > 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 =E2=80=98y_dir=E2=80=99: Permission de= nied > > > > > > I tried this: > > > $ chmod a+rwx . > > > $ mkdir y_dir > > > mkdir: cannot create directory =E2=80=98y_dir=E2=80=99: Permission de= nied > > > > > > > > > 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. Yep, the change was that FreeBSD16 supports Archive, but didn't handle setting it when doing a CREATE operation. > > > > - 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=3Droot. > > - 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=3D293691 ("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=3D292283 ("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/7156d9f9deb25843e57fd4= 55d8ec67951b82c737) > which should avoid this bug, but I will remove that workaround as soon > as a fixed release version of FreeBSD will become available... I've put a patch on this FreeBSD PR and am attaching it here. I will commit it soon to main and MFC it in time for the FreeBSD-15.1 release. I think you'll find that, for a main (FreeBSD-16) server, Open/Create does handle Archive. rick > > ---- > > Bye, > Roland > -- > __ . . __ > (o.\ \/ /.o) roland.mainz@nrubsig.org > \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer > /O /=3D=3D\ O\ TEL +49 641 3992797 > (;O/ \/ \O;) > --000000000000cfd7de064c9fe0ab Content-Type: application/octet-stream; name="mkdirflags.patch" Content-Disposition: attachment; filename="mkdirflags.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmjtl1yk0 LS0tIHN5cy9mcy9uZnNzZXJ2ZXIvbmZzX25mc2RzZXJ2LmMubWtkaXJmbGFncwkyMDI2LTAzLTA5 IDE0OjEwOjQ4LjUzNzM4MDAwMCAtMDcwMAorKysgc3lzL2ZzL25mc3NlcnZlci9uZnNfbmZzZHNl cnYuYwkyMDI2LTAzLTA5IDE2OjA2OjA3LjM0Mjk2ODAwMCAtMDcwMApAQCAtMTQxNiwxMiArMTQx NiwxMyBAQCBuZnNydmRfbWtub2Qoc3RydWN0IG5mc3J2X2Rlc2NyaXB0ICpuZCwgX191bnVzZWQg aW50IGkKIAl2bm9kZV90IHZwLCBkaXJwID0gTlVMTDsKIAluZnNhdHRyYml0X3QgYXR0cmJpdHM7 CiAJY2hhciAqYnVmcCA9IE5VTEwsICpwYXRoY3AgPSBOVUxMOwotCXVfbG9uZyAqaGFzaHAsIGNu ZmxhZ3M7CisJdV9sb25nICpoYXNocCwgY25mbGFncywgc2V0ZmxhZ3M7CiAJTkZTQUNMX1QgKmFj bHAgPSBOVUxMOwogCXN0cnVjdCB0aHJlYWQgKnAgPSBjdXJ0aHJlYWQ7CiAKIAlORlNWTk9fQVRU UklOSVQoJm52YSk7CiAJY25mbGFncyA9IExPQ0tQQVJFTlQ7CisJc2V0ZmxhZ3MgPSAodV9sb25n KVZOT1ZBTDsKIAlpZiAobmQtPm5kX3JlcHN0YXQpIHsKIAkJbmZzcnZfd2NjKG5kLCBkaXJmb3Jf cmV0LCAmZGlyZm9yLCBkaXJhZnRfcmV0LCAmZGlyYWZ0KTsKIAkJZ290byBvdXQ7CkBAIC0xNTc2 LDkgKzE1NzcsMTYgQEAgbmZzcnZkX21rbm9kKHN0cnVjdCBuZnNydl9kZXNjcmlwdCAqbmQsIF9f dW51c2VkIGludCBpCiAJCX0KIAl9CiAKKwkvKiBGb3IgTkZTdjQsIHNldCBuYV9mbGFncyB2aWEg bmZzcnZfZml4YXR0cigpLiAqLworCWlmIChuZC0+bmRfZmxhZyAmIE5EX05GU1Y0KSB7CisJCXNl dGZsYWdzID0gbnZhLm5hX2ZsYWdzOworCQludmEubmFfZmxhZ3MgPSBWTk9WQUw7CisJfQogCW5k LT5uZF9yZXBzdGF0ID0gbmZzdm5vX21rbm9kKCZuYW1lZCwgJm52YSwgbmQtPm5kX2NyZWQsIHAp OwogCWlmICghbmQtPm5kX3JlcHN0YXQpIHsKIAkJdnAgPSBuYW1lZC5uaV92cDsKKwkJaWYgKG5k LT5uZF9mbGFnICYgTkRfTkZTVjQpCisJCQludmEubmFfZmxhZ3MgPSBzZXRmbGFnczsKIAkJbmZz cnZfZml4YXR0cihuZCwgdnAsICZudmEsIGFjbHAsIHAsICZhdHRyYml0cywgZmFsc2UpOwogCQlu ZC0+bmRfcmVwc3RhdCA9IG5mc3Zub19nZXRmaCh2cCwgZmhwLCBwKTsKIAkJaWYgKChuZC0+bmRf ZmxhZyAmIE5EX05GU1YzKSAmJiAhbmQtPm5kX3JlcHN0YXQpCkBAIC0yMDg0LDEwICsyMDkyLDE0 IEBAIG5mc3J2ZF9zeW1saW5rc3ViKHN0cnVjdCBuZnNydl9kZXNjcmlwdCAqbmQsIHN0cnVjdCBu YQogICAgIGludCBwYXRobGVuKQogewogCXVfaW50MzJfdCAqdGw7CisJdV9sb25nIHNldGZsYWdz OwogCisJc2V0ZmxhZ3MgPSBudmFwLT5uYV9mbGFnczsKKwludmFwLT5uYV9mbGFncyA9ICh1X2xv bmcpVk5PVkFMOwogCW5kLT5uZF9yZXBzdGF0ID0gbmZzdm5vX3N5bWxpbmsobmRwLCBudmFwLCBw YXRoY3AsIHBhdGhsZW4sCiAJICAgICEobmQtPm5kX2ZsYWcgJiBORF9ORlNWMiksIG5kLT5uZF9z YXZlZHVpZCwgbmQtPm5kX2NyZWQsIHAsIGV4cCk7CiAJaWYgKCFuZC0+bmRfcmVwc3RhdCAmJiAh KG5kLT5uZF9mbGFnICYgTkRfTkZTVjIpKSB7CisJCW52YXAtPm5hX2ZsYWdzID0gc2V0ZmxhZ3M7 CiAJCW5mc3J2X2ZpeGF0dHIobmQsIG5kcC0+bmlfdnAsIG52YXAsIGFjbHAsIHAsIGF0dHJiaXRw LCBmYWxzZSk7CiAJCWlmIChuZC0+bmRfZmxhZyAmIE5EX05GU1YzKSB7CiAJCQluZC0+bmRfcmVw c3RhdCA9IG5mc3Zub19nZXRmaChuZHAtPm5pX3ZwLCBmaHAsIHApOwpAQCAtMjIxNiwxMiArMjIy OCwxNiBAQCBuZnNydmRfbWtkaXJzdWIoc3RydWN0IG5mc3J2X2Rlc2NyaXB0ICpuZCwgc3RydWN0 IG5hbWUKIHsKIAl2bm9kZV90IHZwOwogCXVfaW50MzJfdCAqdGw7CisJdV9sb25nIHNldGZsYWdz OwogCisJc2V0ZmxhZ3MgPSBudmFwLT5uYV9mbGFnczsKKwludmFwLT5uYV9mbGFncyA9ICh1X2xv bmcpVk5PVkFMOwogCU5GU1ZOT19TRVRBVFRSVkFMKG52YXAsIHR5cGUsIFZESVIpOwogCW5kLT5u ZF9yZXBzdGF0ID0gbmZzdm5vX21rZGlyKG5kcCwgbnZhcCwgbmQtPm5kX3NhdmVkdWlkLAogCSAg ICBuZC0+bmRfY3JlZCwgcCwgZXhwKTsKIAlpZiAoIW5kLT5uZF9yZXBzdGF0KSB7CiAJCXZwID0g bmRwLT5uaV92cDsKKwkJbnZhcC0+bmFfZmxhZ3MgPSBzZXRmbGFnczsKIAkJbmZzcnZfZml4YXR0 cihuZCwgdnAsIG52YXAsIGFjbHAsIHAsIGF0dHJiaXRwLCBmYWxzZSk7CiAJCW5kLT5uZF9yZXBz dGF0ID0gbmZzdm5vX2dldGZoKHZwLCBmaHAsIHApOwogCQlpZiAoIShuZC0+bmRfZmxhZyAmIE5E X05GU1Y0KSAmJiAhbmQtPm5kX3JlcHN0YXQpCg== --000000000000cfd7de064c9fe0ab--