Date: Tue, 14 Apr 2009 20:17:56 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: Tim Kientzle <kientzle@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Edward Tomasz Napierala <trasz@freebsd.org> Subject: Re: svn commit: r191055 - head/lib/libc/string Message-ID: <alpine.BSF.2.00.0904142016240.19879@fledge.watson.org> In-Reply-To: <49E4D2BF.2040503@freebsd.org> References: <200904141139.n3EBdudA004806@svn.freebsd.org> <49E4D2BF.2040503@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 14 Apr 2009, Tim Kientzle wrote: >> There is no way for strmode(3) to append '+' if the file has ACL, >> because there is no way to figure that out based on the file mode >> itself. Make the manual page match reality. > > Yep, that '+' is why libarchive has a custom strmode() that accepts more > information than just the mode. > > A related issue: It would be really nice to be able to find out whether a > file had extended ACLs or extended attributes based on the information > returned from stat(2). That would allow programs like tar to avoid a fair > number of system calls. Even just a single bit "HAS_EXTENSIONS" would help a > lot, since most files don't have any extended ACLs or extended attributes. > It would also allow users of strmode() (such as ls) to insert that '+' sign > themselves. > > The only place I see to do this is to appropriate some bits from st_flags. Kirk, Poul-Henning, and I discussed precisely this during the initial UFS2 design session. The idea was that we'd allocate a system flag that was essentially a "there are ACL-related extended attributes", which could be used in-kernel to avoid EA reads, and from userspace to avoid (or trigger) ACL reads. I still think it would be a good idea to do this, although we might want to think a bit about failure modes if there's a crash between EA update and inode update. Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0904142016240.19879>