Skip site navigation (1)Skip section navigation (2)
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>