Will Young
2009-Apr-15 17:56 UTC
[zfs-discuss] facl_getat() needed for extended file (XATTR) acls?
Hi, I''ve been working on an improved bart(1M) that is supposed to address open issues including XATTR support. In writing the XATTR support the only MT appropriate solution I''ve found that doesn''t make bad privilege assumptions for performing a stat depends on openat() to get the parent''s attribute directory and fstatat() to get the stat. There is however no corresponding way to request a file''s acls. With the current interfaces, I must either have the file open or be able to reference to it by path. But this creates a choice between having the file open to get acls despite read permission explicitly not being a requirement for reading a file''s acls or performing a chdir() which impacts the entire process. It looks like fstatat() was a recognized need of XATTR support as it was included in "PSARC/1999/209 Extended File Attributes" but a corresponding "faclat()" was not added and "2002/240 ZFS" added (f)acl_get() but did not add a corresponding facl_getat(). -Will