[Bug 232748] inconsistent handling of zfs filesystem native property xattr
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sat Oct 27 19:02:30 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=232748
Bug ID: 232748
Summary: inconsistent handling of zfs filesystem native
property xattr
Product: Base System
Version: CURRENT
Hardware: amd64
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: dclarke at blastwave.org
This is seen on 11.2 and 12.0 beta 2.
Where zfs man page clearly says "The xattr property is currently not
supported on FreeBSD" and that is fine. However filesystem creation
silently accepts the option and even warns the user if xattr is
mentioned as a duplicate option. However the option is silently accepted.
hydra# uname -a
FreeBSD hydra 12.0-BETA2 FreeBSD 12.0-BETA2 r339753 GENERIC amd64
hydra# zfs create -o checksum=sha256 -o compression=lz4 -o atime=on \
? -o devices=on -o exec=on -o setuid=on -o snapdir=hidden \
? -o aclmode=discard -o aclinherit=restricted -o xattr=on \
? -o utf8only=off -o casesensitivity=sensitive -o primarycache=all \
? -o secondarycache=all -o logbias=latency -o dedup=on -o sync=standard \
? -o mountpoint=/foo hydra/foo
hydra# zfs get xattr hydra/foo
NAME PROPERTY VALUE SOURCE
hydra/foo xattr off temporary
One may see xattr set to "on" in some filesystems and that seems odd :
hydra# uname -a
FreeBSD hydra 12.0-BETA2 FreeBSD 12.0-BETA2 r339753 GENERIC amd64
hydra# zfs get xattr hydra/usr
NAME PROPERTY VALUE SOURCE
hydra/usr xattr on default
hydra# zfs get xattr hydra/usr/home
NAME PROPERTY VALUE SOURCE
hydra/usr/home xattr off temporary
hydra# zfs set xattr=on hydra/usr/home
property 'xattr' not supported on FreeBSD: permission denied
hydra#
hydra# zfs list -t filesystem -o name,xattr,mountpoint
NAME XATTR MOUNTPOINT
hydra off /hydra
hydra/ROOT on none
hydra/ROOT/default off /
hydra/foo off /foo
hydra/tmp off /tmp
hydra/usr on /usr
hydra/usr/home off /usr/home
hydra/usr/ports off /usr/ports
hydra/usr/src off /usr/src
hydra/var on /var
hydra/var/audit off /var/audit
hydra/var/crash off /var/crash
hydra/var/log off /var/log
hydra/var/mail off /var/mail
hydra/var/tmp off /var/tmp
Yet clearly xattr is enabled within zfs filesystem hydra/usr and one must
wonder if a zfs send with capital R will result in dataset information
that can be later received with xattr enabled ? Yes.
hydra# zfs create -o checksum=sha256 -o compression=lz4 -o atime=on \
? -o devices=on -o exec=on -o setuid=on -o snapdir=hidden \
? -o aclmode=discard -o aclinherit=restricted -o xattr=on \
? -o utf8only=off -o casesensitivity=sensitive -o primarycache=all \
? -o secondarycache=all -o logbias=latency -o dedup=on -o sync=standard \
? -o mountpoint=/foo/bar hydra/foo/bar
hydra# zfs snapshot -r hydra/usr@`(date '+%Y%m%d%H%M%S')`
hydra# zfs list -r -t all hydra/usr
NAME USED AVAIL REFER MOUNTPOINT
hydra/usr 1.35G 55.2G 88K /usr
hydra/usr at 20181027185424 0 - 88K -
hydra/usr/home 172K 55.2G 172K /usr/home
hydra/usr/home at 20181027185424 0 - 172K -
hydra/usr/ports 704M 55.2G 704M /usr/ports
hydra/usr/ports at 20181027185424 0 - 704M -
hydra/usr/src 682M 55.2G 682M /usr/src
hydra/usr/src at 20181027185424 0 - 682M -
hydra# zfs send -R hydra/usr at 20181027185424 > /var/tmp/usr_20181027185424.capR
hydra# zfs receive -uvF hydra/foo/bar < /var/tmp/usr_20181027185424.capR
receiving full stream of hydra/usr at 20181027185424 into
hydra/foo/bar at 20181027185424
received 46.6KB stream in 1 seconds (46.6KB/sec)
receiving full stream of hydra/usr/ports at 20181027185424 into
hydra/foo/bar/ports at 20181027185424
received 561MB stream in 15 seconds (37.4MB/sec)
receiving full stream of hydra/usr/src at 20181027185424 into
hydra/foo/bar/src at 20181027185424
received 1.25GB stream in 19 seconds (67.3MB/sec)
receiving full stream of hydra/usr/home at 20181027185424 into
hydra/foo/bar/home at 20181027185424
received 84.6KB stream in 1 seconds (84.6KB/sec)
hydra#
hydra# zfs list -t all -o name,used,available,xattr,mountpoint -r hydra/foo
NAME USED AVAIL XATTR MOUNTPOINT
hydra/foo 1.40G 53.1G off /foo
hydra/foo/bar 1.40G 53.1G on /usr
hydra/foo/bar at 20181027185424 0 - on -
hydra/foo/bar/home 172K 53.1G on /usr/home
hydra/foo/bar/home at 20181027185424 0 - on -
hydra/foo/bar/ports 739M 53.1G on /usr/ports
hydra/foo/bar/ports at 20181027185424 0 - on -
hydra/foo/bar/src 695M 53.1G on /usr/src
hydra/foo/bar/src at 20181027185424 0 - on -
hydra#
There we see a stack of xattr properties all enabled.
Seems inconsistent.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list