diff a/tmpfiles.sh b/tmpfiles.sh --- a/tmpfiles.sh +++ b/tmpfiles.sh @@ -54,6 +54,15 @@ _chattr() { '') return ;; *) attr="+$attr" ;; esac + + # ignore attempts to set unsupported attributes + local fs_type + case $attr in + [+-=]C) fs_type="$(df --output=fstype "$3" | tail --lines=1)" + test "$fstype" == 'btrfs' || return 0 + ;; + esac + local IFS= dryrun_or_real chattr "$1" "$attr" -- "$3" }