Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Apr 2025 01:27:17 +0000
From:      Shawn Webb <shawn.webb@hardenedbsd.org>
To:        Rick Macklem <rick.macklem@gmail.com>
Cc:        FreeBSD CURRENT <freebsd-current@freebsd.org>
Subject:   Re: Heads Up: commit 2ec2ba7e232d just hit main
Message-ID:  <wrfbpfeivqame6kj6miure4syv5qeu3jwl2keugbadzmbcch6d@cewqc5ssvw27>
In-Reply-To: <2rq3bpvhclcipvgg3mo4gml7ysuzbvt6rfnzkprceumzeaeh4b@casrpprm6mgt>
References:  <CAM5tNy4etegCPK8wsxcVDfO-Xo9TmSzWeySkc-dWtWx1nDpOiA@mail.gmail.com> <i4ofrtdfxyz5bltw45umu3e2wwzwajxfqhmxttfe4pdjvuoqgi@vasdhcnj7yya> <CAM5tNy5=RHAs8kZecuBC2KbLvuq78QaAJi16NSndgUHOQ%2B4ycQ@mail.gmail.com> <woq76so6woyrxtsfkkrqj3gekjbrbiciqhvj46a3l2g5so2oje@kocliokhnkck> <CAM5tNy7NDub_qGJUu-jLJ=RaLu3pQi0c1Qh7mcCq_ZQCPQTNzw@mail.gmail.com> <2rq3bpvhclcipvgg3mo4gml7ysuzbvt6rfnzkprceumzeaeh4b@casrpprm6mgt>

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

[-- Attachment #1 --]
On Sat, Apr 05, 2025 at 01:04:25AM +0000, Shawn Webb wrote:
> On Fri, Apr 04, 2025 at 05:40:21PM -0700, Rick Macklem wrote:
> > On Fri, Apr 4, 2025 at 10:50 AM Shawn Webb <shawn.webb@hardenedbsd.org> wrote:
> > >
> > > On Thu, Apr 03, 2025 at 06:12:59PM -0700, Rick Macklem wrote:
> > > > On Thu, Apr 3, 2025 at 4:52 PM Shawn Webb <shawn.webb@hardenedbsd.org> wrote:
> > > > >
> > > > > On Wed, Apr 02, 2025 at 01:51:26PM -0700, Rick Macklem wrote:
> > > > > > The commit 2ec2ba7e232d just hit main.  I do not think it will
> > > > > > cause problems, but it is fairly large.
> > > > > >
> > > > > > Man page updates will be done as separate commits.
> > > > > >
> > > > > > Hopefully this will not cause grief, rick
> > > > >
> > > > > Hey Rick,
> > > > >
> > > > > The patch review test plan mentions a patch to ZFS itself to support
> > > > > named attributes. Is that patch available somewhere?
> > > > The ZFS patch is currently in phabricator as D49654.
> > > > Feel free to review it.
> > > >
> > > > It can also be found at:
> > > > https://people.freebsd.org/~rmacklem/zfs-xattr.patch
> > > > (this is a smaller diff which can be applied to an up-to-date main src
> > > > tree easily)
> > >
> > > Hey Rick,
> > >
> > > I applied that zfs patch, but trying pathconf(2) on a file on a ZFS
> > > dataset with xattr=on (which seems to be the default) returns 0. Am I
> > > doing something wrong?
> > >
> > > ==== BEGIN LOG ====
> > > hbsd-current-01[shawn]:/home/shawn/tmp $ ./xattrtest xattrtest
> > > xattrtest: Named attributes not enabled: No error: 0
> > > hbsd-current-01[shawn]:/home/shawn/tmp (1) $ zfs list /usr/home/shawn
> > > NAME             USED  AVAIL  REFER  MOUNTPOINT
> > > rpool/usr/home  10.4G  71.4G  9.85G  /usr/home
> > > hbsd-current-01[shawn]:/home/shawn/tmp $ zfs get xattr rpool/usr/home
> > > NAME            PROPERTY  VALUE  SOURCE
> > > rpool/usr/home  xattr     on     default
> > > ==== END LOG ====
> > >
> > > That xattrtest application is yours from:
> > > https://people.freebsd.org/~rmacklem/xattrtest.c
> > No idea. It works for me. You used up-to-date kernel sources?
> > (Check that VIRF_NAMEDATTR is defined in sys/sys/vnode.h.)
> > Oh, and one more thing to check. zfs_xattr_compat needs to be non-zero.
> > (It's found in sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c.
> > It's initialized to 1 and I don't see anything that sets it to 0?)
> 
> It is indeed set to 1.
> 
> > 
> > The only thing I can think if is, if you changed xattr to on, you need to
> > reboot (or at least remount) to get it to take effect.
> > (Maybe try setting it to "dir" and then reboot/remount. Maybe there is
> > a difference between "on" and "dir"?)
> 
> Yeah, tried rebooting and still no go. Note that xattr defaults to
> "on" in FreeBSD by default. My src tree is synced up to FreeBSD commit
> 7e70d94acd68b3ac6b45f49d4ab7a0f7867c3ea7. I brought in the ZFS patch
> you linked to.
> 
> > 
> > Or, did you build zfs.ko some other way than as part of a kernel build?
> > (It needs the patched .h files in the kernel sources, not something in
> > /usr/include/sys
> > that has not yet been updated.)
> > All the ZFS changes are #ifdef'd, since OpenZFS requires the sources
> > build for older kernels. (Basically #ifdef'd on that VIRF_NAMEDATTR mentioned
> > above.)
> 
> Perhaps I need to do a clean build. I'll try that and report back.
> 
> > 
> > It does remind me that I need to try a build of zfs.ko by doing a "make" in
> > the module directory.
> > 
> > You can try the attached trivial patch and see if it spits out "pathconf ret=1"
> > on the console.
> 
> I'll try that after a clean rebuild of the kernel.

Clean rebuild didn't resolve it. However, I made some progress.

I created a dataset specifically for this since I can't really unmount
my /usr/home dataset, so my example down below is a bit different than
the previous example I gave.

The xattr property is set to "on" for the dataset. However, it's not
mounted with the xattr property. In order to get it to work, I had to
run the following commands:

==== BEGIN LOG ====
$ sudo zfs umount rpool/scratch/xattr
$ sudo mount -t zfs -o xattr rpool/scratch/xattr /scratch/xattr
$ zfs get xattr rpool/scratch/xattr
NAME                 PROPERTY  VALUE  SOURCE
rpool/scratch/xattr  xattr     on     local
$ mount | grep xattr
rpool/scratch/xattr on /scratch/xattr (zfs, local, noatime, nfsv4acls, named attributes)
$ mount | grep named
rpool/scratch/xattr on /scratch/xattr (zfs, local, noatime, nfsv4acls, named attributes)
==== END LOG ====

So it looks like FreeBSD does not honor the xattr zfs property,
otherwise you would see a whole bunch of datasets mounted with the
"named attributes" flag in that last `mount | grep` command.

-- 
Shawn Webb
Cofounder / Security Engineer
HardenedBSD

Signal Username:  shawn_webb.74
Tor-ified Signal: +1 303-901-1600 / shawn_webb_opsec.50
https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmfwhu4ACgkQ/y5nonf4
4fpoKw//cc8wGfYKzlquDDZeu+5Tn29rObqVjZcPZgbEaTFadYqd/wvAh9/P1Otx
lyapsUhN550SMSYbAtkk/dPsphxpJZ8ihwPTYBYYi8DzivKRdgquJDCOy+GA7+x4
Uxs1CLjwFL02nv67sM2Mkqwn4xHJzKUOpW2b8JFxT1yzmuYCr8x5VV6+WQZti6pO
HQ6r/Fy29z2ZsLh86l7yBeOmKHCm7UR6G41qTt9zhLk90WhunVrcFqhbZGiY0Qh3
PqBVArVYDFoAX6YhcsDwDxf42s2PqyrvtWeQp73X1m/R1KHcfJWWfNQ7+NU1tEKx
VdXH/umSG4smJOEAkcYbD/cGOpzyjvPuCnZMpKKgWcuXLVJ4rHs+etn0WJWykuNL
aePgQpOYft/eAgMVm03iYALefAekyfpVJ3lEsOefte0SeTvIMplrl2aEWYLcmMhF
MdxuahT/4Xtb/UYUX2KIrZszpCd0aPKuOuHyBTU41+kc7iimphgvwB4x9ozuto5+
5noL6d3Qn5Pw7RS7rBC5r56n2OeNivtrSBjEwYkyd7vN6kSTB6rl7m+VDYS2Al/6
sku1DU7vqA7T8vDD1tjTQr71VPQZPWCDBq4EeM8ilEBENCa6UB7fDndrjjuNHBPn
ibbkfazGnjplqIx4DMuWiFCReTAagJ8j8BPjY/FI1mVsKr9zoP0=
=CAq8
-----END PGP SIGNATURE-----
home | help

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