Implement .vop_pathconf and .vop_getacl for the .zfs ctldir
ClosedPublic

Authored by asomers on Wed, Feb 14, 12:23 AM.

Details

Summary

Implement .vop_pathconf and .vop_getacl for the .zfs ctldir

zfsctl_pathconf will report all the same variables that regular ZFS volumes
report. zfs_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

Test Plan

snapshot_018_pos from the ZFS test suite

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
asomers created this revision.Wed, Feb 14, 12:23 AM
avg accepted this revision.Wed, Feb 14, 12:51 PM

LGTM. Thank you!

This revision is now accepted and ready to land.Wed, Feb 14, 12:51 PM

BTW, this bug long predated your big ctldir refactor. AFAIK, it's always been present in FreeBSD. I'm not sure about Illumos. I actually fixed it at work back in 2013, but the change slipped through the cracks and I didn't push it upstream.

This revision was automatically updated to reflect the committed changes.
avg added a comment.Wed, Feb 14, 4:56 PM

BTW, this bug long predated your big ctldir refactor. AFAIK, it's always been present in FreeBSD. I'm not sure about Illumos. I actually fixed it at work back in 2013, but the change slipped through the cracks and I didn't push it upstream.

Yeah... I noticed bug 153142 a while ago, it seemed a like trivial issue, but never got around to it.
You might want to claim that bug now :) Thank you for the fix!