Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2026 17:01:44 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        Cedric Blancher <cedric.blancher@gmail.com>
Cc:        freebsd-hackers@freebsd.org, Rick Macklem <rick.macklem@gmail.com>
Subject:   Re: FreeBSD NFSv4.1 client and server - case insensitive filesystems supported?
Message-ID:  <951afa00-1096-423b-9682-4a1a42b4487f@yahoo.com>
In-Reply-To: <CAM5tNy7eQYhsXE74WTRmriekL%2BJmNnqQYydaxEY-BLtA1nhuLQ@mail.gmail.com>
References:  <CALXu0UfjR5ZuX1i1=_oUuhiF2%2B7G7d9qPydfwGqBM=Kgh90Jxg@mail.gmail.com> <CAM5tNy6-VcUjZuGDs%2BDBY-6_gNpbyiR5JkJOnUtU-vfN%2BTojug@mail.gmail.com> <CAM5tNy4tBMJH6j3tpOS-T2tGV9d3FMh1dwrLeBDD0urC3C-bZA@mail.gmail.com> <CALXu0Ucr4xfBJ%2BAd7THWHq2LObbHVTwKODi90vETXjciH-gWKw@mail.gmail.com> <785b4793-29e7-419e-9713-57c2f99b1d17@yahoo.com> <CALXu0UfGggpQ9rbyX8kiRWt23gfTguk28oKKCdtXLP7z2W5yqA@mail.gmail.com> <748e57b4-1fca-4df3-b70f-605eedd4bb8b@yahoo.com> <CAM5tNy7eQYhsXE74WTRmriekL%2BJmNnqQYydaxEY-BLtA1nhuLQ@mail.gmail.com>

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

On 1/13/26 16:18, Rick Macklem wrote:
> On Tue, Jan 13, 2026 at 3:17 PM Mark Millard <marklmi@yahoo.com> wrote:
>>
>> On 1/13/26 14:48, Cedric Blancher wrote:
>>> On Tue, 13 Jan 2026 at 22:41, Mark Millard <marklmi@yahoo.com> wrote:
>>>>
>>>> On 1/13/26 12:28, Cedric Blancher wrote:
>>>>> On Mon, 12 Jan 2026 at 23:04, Rick Macklem <rick.macklem@gmail.com> wrote:
>>>>>>
>>>>>> On Mon, Jan 12, 2026 at 1:56 PM Rick Macklem <rick.macklem@gmail.com> wrote:
>>>>>>>
>>>>>>> On Mon, Jan 12, 2026 at 11:52 AM Cedric Blancher
>>>>>>> <cedric.blancher@gmail.com> wrote:
>>>>>>>>
>>>>>>>> Good evening!
>>>>>>>>
>>>>>>>> Does the FreeBSD >= 14.3 NFSv4.1 client and server support case
>>>>>>>> insensitive filesystems, e.g. exported ZFS or FAT?
>>>>>>> Greater than, as in 15.0.
>>>>>> Oops, that's 15.1->
>>>>>> (I looked and it is in stable/15, but not releng/15.0.)
>>>>>> (I work with main and the stable branches and don't keep track of when the
>>>>>> releases branch off.)
>>>>>
>>>>> OK, version confusion. :)
>>>>>
>>>>> What do I have to do as FreeBSD root user to update a FreeBSD 15.0
>>>>> installation to a kernel version which supports case-insensitive
>>>>> filesystems for NFSv4.2 server, i.e. FATTR4_CASE_INSENSITIVE and
>>>>> FATTR4_CASE_PRESERVING are set according to the features of ZFS?
>>>>>
>>>>> Ced
>>>>>
>>>>>
>>>>
>>>>
>>>> As I understand what Rick wrote:
>>>>
>>>> ) No *.*-RELEASE supports such. (No releng/*.* branch has such code.)
>>>>
>>>> ) Modern 15.0-STABLE supports such (stable/15 branch has such code).
>>>>
>>>> ) Modern 16.0-CURRENT supports such (main branch has such code).
>>>>
>>>> Are you in a situation that allows use of the likes of some commit of,
>>>> say, 15.0-STABLE ( branch stable/15 )?
>>>>
>>>> If you must have a *.*-RELEASE instead, you have to wait for
>>>> 15.1-RELEASE to be available.
>>>
>>> OK, I have to do some outings: I am new to FreeBSD, and worse: I am
>>> management (sort of rond-de-cuir).
>>>
>>> What do I have to do as user root in a FreeBSD 15.0 installation to
>>> update to 15.0-STABLE to get working FATTR4_CASE_INSENSITIVE and
>>> FATTR4_CASE_PRESERVING support in FreeBSD NFS server?
> As Mark noted, you can either wait for the 15.1 release (April, maybe?)
> or you can set up a system from sources (aka stable/15).
> 
> To do the latter for a test system (where maintaining it with up-to-date
> security patches, etc) is pretty straightforward. (To do so while maintaining
> it will up-to-date security patches, etc, is outside my wheelhouse and
> probably yours. Companies like Netflix do this with "main" which is the
> newest greenest bits, but they have an engineering team to manage it.)
> 
> For a simple test server, you could:
> - Install 15.0 using the "legacy .." (I can't remember what the install
>   calls it exactly, but it is not the new pkg based installation.)
> - Download the stable/15 source tree..
>   # git clone https://git.freebsd.org src
> (Or https://github.com/freebsd/freebsd-src if the above doesn't work
> for you.)
>   # git checkout stable/15
> - cd into the top level directory (src for the above git example).
> # make buildkernel
> # make installkernel
> - There isn't any userland changes, so just replacing the kernel
>   should be sufficient.
> # shutdown -r now

By themselves, the above instructions are insufficient if you are trying
to start from a pkgbase 15.0-RELEASE installation and upgrade to a
15.0-STABLE of some vintage, no matter if the intended end result is
pkgbase vs. not.

Using pkgbase going forward would have new binary releases of
15.0-STABLE available twice a day normally --but pkgbase has a
Technology Preview status for its status for 15.0 and possibly for more
15.* . You may well not want to deal with such a status. 16.0-RELEASE
should no longer have such a status for pkgbase.

> 
> To configure a ZFS file system for case insensitive, you need to
> first find out what your pool is called, if you do not know that.
> # zpool list
> - The name is the first field
> Now to create a file system that is case insensitive...
> # zfs create -o casesensitivity=insensitive <zpool-name>/<file-system-name>
> - If you messing around with a Windows client, you might also want..
> # zfs set xattr=dir <zpool>/<file-system-name>
> - To enable named attributes (alternate data streams).
> # zfs set aclinherit=passthrough <zpool-name>/<file-system-name>
> - Which has been said to be the best setting for acl inheritance for
>   Windows  clients.
> (There are also a couple of other properties that might be useful,
>  but I have no experience with them. "normalization" and "aclmode"
>  are two of them. Read "man zfsprops" for more info.)
> 
> I have no idea if a pkg installed system can be upgraded via
> sources, but I do not see why replacing the kernel would be a
> problem, assuming it is just a test system and you do not need
> to track bugfixes...

It is possible to build and install and use alternate kernels under
alternate names, leaving the official pkgbase ones alone. (pkgbase has
code to validate official distribution materials have not been
corrupted/changed.) I build such personal kernels from slightly
alternate source code and boot mine sometimes and an official one other
times. The boot-world is always an official pkgbase installation.

(I also build alternate worlds that I install to directories and use via
chroot and via being the world for some poudriere-devel jails. I use
these when I'm booted with my personal kernel builds. But I can boot the
system via just officially distributed materials for the boot-kernel and
boot-world. My personal kernel builds work with the official pkgbase
boot-world ok as well: I avoid such a kernel being based on older source
code than any of the worlds were based on.)

> 
> rick
> 
>>
>> My context has only ever had very simple configurations. But I do know
>> that how to upgrade depends on which technique was used to install
>> 15.0-RELEASE : If you have a installation based on the new pkgbase style
>> of installation it would be different than if you had a installation via
>> a historical technique. For the historical techniques (source code style
>> installation vs. other historical styles of installation, for example),
>> there is variability as well.
>>
>> You likely need to report various supporting information details
>> describing the specific context that you would be starting from.
>>
>> Overall, I'm not likely to be an appropriate guide for any sort of
>> production environment doing a FreeBSD OS upgrade, even with such
>> information.
>>
>>>
>>> Also, which FreeBSD commit added support for working
>>> FATTR4_CASE_INSENSITIVE and FATTR4_CASE_PRESERVING?
>>
>> It is probably best if Rick answers the question about his own code.
>> I've no knowledge of its details. That need not mean that he would be an
>> proper source overall for how to upgrade the FreeBSD OS from
>> 15.0-RELEASE to a vintage of 15.0-STABLE .
>>
>> --
>> ===
>> Mark Millard
>> marklmi at yahoo.com
> 
> 


-- 
===
Mark Millard
marklmi at yahoo.com


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?951afa00-1096-423b-9682-4a1a42b4487f>