# Using Trusted extattr namespace on 11.2?



## Anaxagoras (Sep 16, 2022)

I'm trying to translate whiteout files from the AUFS format to the kernel-overlay FS format. This entails marking certain directories with the extended attribute trusted.overlay.opaque = y. Unfortunately, it seems that at least by default, FreeBSD only supports the user and system namespaces for extended attributes. Is there any way around this restriction? The manual for extattr implies that some file system I could mount might support other namespaces, perhaps including the trusted namespace, but I haven't been able to find a namespace that I can mount and that does indeed allow for use of the trusted namespace.

Unfortunately, I'm unable to upgrade to a supported FreeBSD version. Additionally, while KOFS has a flag to read its opaque whiteout files from the user namespace instead of the trusted one, we're stuck building our KOFS on top of tempfs, which does not support user namespace extended attributes.

Any thoughts?


----------



## ralphbsz (Sep 17, 2022)

Anaxagoras said:


> Unfortunately, it seems that at least by default, FreeBSD only supports the user and system namespaces for extended attributes.


I know that UFS supports extended attributes, but I just looked it up: It's in man 8 getextattr and friends, and it only supports the user and system name spaces.

ZFS also has some extended attribute support (and I remember talking to some ZFS implementors about that, about 15 or 20 years ago). Their implementation is supposedly very flexible, but at least at the time had horrible performance (they stored every XA as a file in a hidden directory). You might want to look around for some ZFS documentation. The answer for ZFS might change at the FreeBSD Version 13 transition, when the source base moved from the old BSD-specific ZFS to the new OpenZFS, which is shared with Linux.

In practice, there are no other file systems on FreeBSD, so that's it (except for silly things like tmpfs, which you already found).

A bizarre option might be checking into NFSv4: It theoretically supports XAs (although I don't know how the real-world practical implementations are), and if you get lucky, the FreeBSD NFS client might be able to do it. That leaves the question of a full-featured NFSv4 server, but you could always buy a NetApp box (that's means as a joke).


----------

