[nfsv4] Re: rfc8881bis: Symlink support on Windows-based servers and NTFS

Martin Wege <martin.l.wege@gmail.com> Sun, 25 January 2026 21:44 UTC

Return-Path: <martin.l.wege@gmail.com>
X-Original-To: nfsv4@mail2.ietf.org
Delivered-To: nfsv4@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 35983ACD4317 for <nfsv4@mail2.ietf.org>; Sun, 25 Jan 2026 13:44:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K_OdwWZAJ7XQ for <nfsv4@mail2.ietf.org>; Sun, 25 Jan 2026 13:44:33 -0800 (PST)
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id E0500ACD4312 for <nfsv4@ietf.org>; Sun, 25 Jan 2026 13:44:33 -0800 (PST)
Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-65832e566edso5640311a12.2 for <nfsv4@ietf.org>; Sun, 25 Jan 2026 13:44:33 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1769377472; cv=none; d=google.com; s=arc-20240605; b=Z1CQlsCj82DgUnnWxBUxuJA+Kv8J3k1wmOlbyvqeu57vzED+xeKVMD+xTai2dL8Syp /lK+5tjpLtvL0DeNV8GWrByI2SaH0bticoXZNOjZmvoh8H3csM3BLtSE+7WaY54XyeoQ Y3E85A8Z7V+PXpbDacsTsF6r5J+Uc9TYDNU+kI4ul+jMUz1Rg7/KF2s8C2FcGmvs6o7U o4sIkPXOl6lSwciP/NyiXcs9KIRc9/AKT6r8ZJjPqTjkvJlbgBx+hUqlyU6zHn2Hw+ip ISDhcWe+6Sv9ggv8Kkge6uakqFz/x0h3bnPeP2Yj13Nsx+Gv6hGSnvpGphAQdDutGSF2 M/Ug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=vrFVga8CNIMk28T6VkJq2Nf9gV4rmwpMAx/ahxmJDyg=; fh=ff9DqhQhWY/V8l0Ci22RuYeXP+sfLgyx9GLPhlJg2UE=; b=Et3n8tRgGHgsGRBT3JtYewchvNrZiCcRA30WniGQ/aUa2F9cQWk5gDsCyvLlwQLZsA REz84vpPylA0GaL1CjXr/9NIg2W5JvTbYaDglKjMO3a7pnF+CC8EV7hNqqNTFhfGWsR4 b8RIeEscNshe5BNRG6hMRn0AjEbd7t9APpk0t0eCjTDpTngvL28nIVpKXqc2/pkl0uFA dyj5+VETAqZ2nSDiieDR+t/s+rTk6DAUMJfSciMwyA+H3Zbe/2d3R9UfM3k8uZ8PzNIC 1hDuQfRjTckxLZEj9CbD215zwtjWP+2/Vebh9ivgDTyUgREEMpBmFkkIEPoKneIX8LvC ke5A==; darn=ietf.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=1769377472; x=1769982272; darn=ietf.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=vrFVga8CNIMk28T6VkJq2Nf9gV4rmwpMAx/ahxmJDyg=; b=bBELKU5de4Cyk/5YOK0HQHa+wTTDOfkZmL6xfBNcI1bfMjQdEkpXpbCx1xB4yI0BOP lHN6Y7MxjRH2rHU3zOruNmLj/z3s5BsxDrQPEGanndAfG/YY1/lcDG27zvl5jrQiCaAW X/DnhBuYI4iExF7B6FB82GmrZKh8LWEuRhWLaxmjmXNQzbmWs4vaCjoWkPwgK1XnuM2j s/4GeXS8lueUajoVqI579gsgy7latqkKu6FtGIhpHKCc93bUI5Gn348mkaZ9C3AiJFvY r/YSwOKe7gfvX0O5jAMpB3JiqzGxgfWYcyCNXEt2RBQ6KaWsm/e+7GPJ6FOdcxZ0EfJK SRcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769377472; x=1769982272; h=content-transfer-encoding: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=vrFVga8CNIMk28T6VkJq2Nf9gV4rmwpMAx/ahxmJDyg=; b=dEkpuRj4j8odyxOcwXWrvIN/TonQOq6QP1TykrdQI9KrmIMk8vaPHgB1ZSIuhAXSCM ZLQQ4zRNYKxHNzTOJdTafUyk3QbatRXFem4dRxeB0d58K8BNFNiZdZJt2n0Trnw4r3uh +A5EtSlBN3nAcpRWKaAUBiRoF1qiGg3Fqw1NQq38zYM/XIAWW8xyvdhuQQbPvtlU5WsN 0BC5MctXMXmLgtSMr38pbFVp+gxokMot2OWCnzc/vrfI5AcWgnkAi+zcwXFxa7AREbKF Dt8KF4T8ZrtbqtXPNLiCji5Rv25C+r0tviuX3nVLd/gcDymVD1b/6QftQMKral8XCcLo kWUg==
X-Gm-Message-State: AOJu0YyfW4f4aWRcvNdftqW0ph5OZfUfKpuc57Hy8D7f2k+fP0kGVotg VT/mz7DMDVEY4rYWgbJC/6ErdvfPqu6ZtHuuED4qOgEatSFadZJxjopehyH6z1azaaewQLvUxts 7jCyq8bNIeaS+oK45opaLPyfHnILL45kezA==
X-Gm-Gg: AZuq6aK8xjDGWsf9s+1YBBkhuyKmfRdq7MvwORnCMiyVaAQld/Z8VDG0+pAlhm4e84f 3S2tvzp/Qla9BGIF+KHiytMB/Hg1mHQv5jaURhRUIK6omFWjlcnVtNlYtZdsAKAgjbDCike1ye7 eTyXNjhX++8byV7L255x3liIe2Cj+lzkvoyKLAfPMCpjUx4ifOksUtCazCqwiETybsH2G6IcK69 2FeJAlgt7VOkgLdXOAjej8B03WY5GhximhmEfIfc8zsRbq1DkkRCjj677e8y9Ztp0aFTw==
X-Received: by 2002:a17:907:9810:b0:b7a:1bde:1222 with SMTP id a640c23a62f3a-b8d2e8cde4cmr183758766b.63.1769377472486; Sun, 25 Jan 2026 13:44:32 -0800 (PST)
MIME-Version: 1.0
References: <20260125172914.ki2mca4z77fcse54@pali> <CADaq8jfQ-ew4wrVVKSpxPas6UOdSMpzjKB_RfoMUbg55phiMyw@mail.gmail.com> <CAM5tNy7sfhoHK9PhRFD2zZ76yYfS0V2CcmzsDxZ6EhjaEe2=qg@mail.gmail.com> <aXaNdk4gbArKIrlb@ubby>
In-Reply-To: <aXaNdk4gbArKIrlb@ubby>
From: Martin Wege <martin.l.wege@gmail.com>
Date: Sun, 25 Jan 2026 22:43:56 +0100
X-Gm-Features: AZwV_QigHaw9DxHmtH5qwpUh5yW7qNHcsmZ2KN75JxtXyndaIEFDmjFZ7wnWoO4
Message-ID: <CANH4o6Nw9zxT3EqfTrYQEJWD_djQ8tgCU=-XQx+t++FaoULoHA@mail.gmail.com>
To: nfsv4@ietf.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: AFQLNGXPLLDZLP2SYPLDXJN6K3O7O37A
X-Message-ID-Hash: AFQLNGXPLLDZLP2SYPLDXJN6K3O7O37A
X-MailFrom: martin.l.wege@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-nfsv4.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [nfsv4] Re: rfc8881bis: Symlink support on Windows-based servers and NTFS
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/XBNfbcQuNGGAF1gZOwaUpU9MN4o>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Owner: <mailto:nfsv4-owner@ietf.org>
List-Post: <mailto:nfsv4@ietf.org>
List-Subscribe: <mailto:nfsv4-join@ietf.org>
List-Unsubscribe: <mailto:nfsv4-leave@ietf.org>

On Sun, Jan 25, 2026 at 10:39 PM Nico Williams <nico@cryptonector.com> wrote:
>
> On Sun, Jan 25, 2026 at 01:17:47PM -0800, Rick Macklem wrote:
> >      (I don't think anyone would expect a symlink created by a
> >       POSIX-like system to work for Windows or vice versa.)
>
> Relative symlink targets, after / <-> \ substitution should work just
> find on both.
>
> UNCs could get mapped to /net-style paths.

No, UNCs are mapped to double-slash paths. That's where UWIN and
CYGWIN got their inspiration from.
Example: \\nfsserver1234\share1\ becomes //nfsserver1234/share1/

CYGWIN, UWIN, SFU all support this, and so do the Windows NFSv4 drivers.

>
> All other absolute symlink targets really can't be mapped.  One could
> try to map drive-letter paths on POSIX like Cygwin does, say, but
> really, no.

Actually the Windows drivers do exactly that. The prefix is
configurable, for example CYGWIN uses /cygdrive/c/path1/,
MSYS2+SFU+UWIN uses /c/path1/

Thanks,
Martin