Prior to this change chflags uunlink <foo> would fail on FreeBSD with
EOPNOTSUPP since the necessary translation code had not been added for
UF_NOUNLINK. This change adds the missing glue for UF_NOUNLINK.
PR: 282981
Differential D47843
zfs: handle the `UF_NOUNLINK` chflags fflag ngie on Fri, Nov 29, 7:12 PM. Authored by
Details
Prior to this change chflags uunlink <foo> would fail on FreeBSD with PR: 282981 Before% chflags uunlink foo chflags: foo: Operation not supported % chflags sunlink foo chflags: foo: Operation not permitted % sudo chflags sunlink foo % uname -a FreeBSD gilot.local 14.1-RELEASE-p4 FreeBSD 14.1-RELEASE-p4 GENERIC amd64 Afterfbsd-current# mdconfig -a -t malloc -s 100m md0 fbsd-current# mdconfig -a -t malloc -s 100m md1 fbsd-current# zpool create howitzer md0 md1 fbsd-current# cd /howitzer fbsd-current# : > foo fbsd-current# chflags uunlink foo fbsd-current# ls -l total 1 -rw-r--r-- 1 root wheel 0 Nov 29 10:44 foo fbsd-current# rm foo rm: foo: Operation not permitted fbsd-current# chflags nouunlink foo fbsd-current# rm foo fbsd-current#
Diff Detail
Event TimelineComment Actions As noted elsewhere, this unfortunately doesn't work for UID != 0: https://github.com/openzfs/zfs/pull/16820#issuecomment-2508540991 . |