pathconf(2) doesn't work in the .zfs or .zfs/snapshot directory [root@tom /tmp]# zpool create foo da0 [root@tom /tmp]# zfs set snapdir=visible foo [root@tom /tmp]# zfs snapshot foo@1 [root@tom /tmp]# getconf ACL_EXTENDED /foo 0 [root@tom /tmp]# getconf ACL_EXTENDED /foo/.zfs getconf: pathconf: ACL_EXTENDED: Invalid argument [root@tom /tmp]# getconf ACL_EXTENDED /foo/.zfs/snapshot getconf: pathconf: ACL_EXTENDED: Invalid argument [root@tom /tmp]# getconf ACL_EXTENDED /foo/.zfs/snapshot/1 0
A commit references this bug: Author: asomers Date: Fri Feb 9 21:12:38 UTC 2018 New revision: 329082 URL: https://svnweb.freebsd.org/changeset/base/329082 Log: Expect failure for snapshot_018_pos The ZFS ctldir lacks support for pathconf(2) PR: 225793 Sponsored by: Spectra Logic Corp Changes: projects/zfsd/head/tests/sys/cddl/zfs/tests/snapshot/snapshot_test.sh
There is another symptom of this bug: due to an assumption in ls(1) that all files with the same inode will have the same value of _PC_ACL_NFS4, ls will sometimes print "Operation not supported" for entries in the ctldir. Whether or not it does depends on the order that it prints the entries, but you can always demonstrate it by sorting the entries in both forward and reverse order: $ ls -ltar /tmp/.zfs total 145 dr-xr-xr-x 3 root wheel 3 Dec 9 2015 . dr-xr-xr-x 2 root wheel 2 Feb 13 13:21 snapshot drwxrwxrwt 10 root wheel 10 Feb 13 17:10 .. $ ls -lta /tmp/.zfs total 145 drwxrwxrwt 10 root wheel 10 Feb 13 17:10 .. ls: /tmp/.zfs/snapshot: Operation not supported dr-xr-xr-x 2 root wheel 2 Feb 13 13:21 snapshot ls: /tmp/.zfs/.: Operation not supported dr-xr-xr-x 3 root wheel 3 Dec 9 2015 .
A commit references this bug: Author: asomers Date: Wed Feb 14 15:49:31 UTC 2018 New revision: 329265 URL: https://svnweb.freebsd.org/changeset/base/329265 Log: Implement .vop_pathconf and .vop_getacl for the .zfs ctldir zfsctl_common_pathconf will report all the same variables that regular ZFS volumes report. zfsctl_common_getacl will report an ACL equivalent to 555, except that you can't read xattrs or edit attributes. Fixes a bug where "ls .zfs" will occasionally print something like: ls: .zfs/.: Operation not supported PR: 225793 Reviewed by: avg MFC after: 3 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D14365 Changes: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
*** Bug 153142 has been marked as a duplicate of this bug. ***
A commit references this bug: Author: asomers Date: Thu Feb 15 00:01:19 UTC 2018 New revision: 329286 URL: https://svnweb.freebsd.org/changeset/base/329286 Log: Fix snapshot_018_pos tests/sys/cddl/zfs/tests/snapshot/snapshot_018_pos.ksh Delete references to ".zfs/shares". It no longer exists. tests/sys/cddl/zfs/tests/snapshot/snapshot_test.sh Clear the expected failure due to PR 225793 PR: 225793 Sponsored by: Spectra Logic Corp Changes: projects/zfsd/head/tests/sys/cddl/zfs/tests/snapshot/snapshot_018_pos.ksh projects/zfsd/head/tests/sys/cddl/zfs/tests/snapshot/snapshot_test.sh
A commit references this bug: Author: asomers Date: Sat Mar 10 03:24:59 UTC 2018 New revision: 330732 URL: https://svnweb.freebsd.org/changeset/base/330732 Log: MFC r329265, r329384 r329265: Implement .vop_pathconf and .vop_getacl for the .zfs ctldir zfsctl_common_pathconf will report all the same variables that regular ZFS volumes report. zfsctl_common_getacl will report an ACL equivalent to 555, except that you can't read xattrs or edit attributes. Fixes a bug where "ls .zfs" will occasionally print something like: ls: .zfs/.: Operation not supported PR: 225793 Reviewed by: avg Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D14365 r329384: Handle generic pathconf attributes in the .zfs ctldir MFC instructions: change the value of _PC_LINK_MAX to INT_MAX Reported by: jhb X-MFC-With: 329265 Sponsored by: Spectra Logic Corp Changes: _U stable/11/ stable/11/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
A commit references this bug: Author: asomers Date: Sat Mar 10 04:10:57 UTC 2018 New revision: 330736 URL: https://svnweb.freebsd.org/changeset/base/330736 Log: MFC r329265, r329384 r329265: Implement .vop_pathconf and .vop_getacl for the .zfs ctldir zfsctl_common_pathconf will report all the same variables that regular ZFS volumes report. zfsctl_common_getacl will report an ACL equivalent to 555, except that you can't read xattrs or edit attributes. Fixes a bug where "ls .zfs" will occasionally print something like: ls: .zfs/.: Operation not supported PR: 225793 Reviewed by: avg Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D14365 r329384: Handle generic pathconf attributes in the .zfs ctldir MFC instructions: change the value of _PC_LINK_MAX to INT_MAX Reported by: jhb X-MFC-With: 329265 Sponsored by: Spectra Logic Corp Changes: _U stable/10/ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c