<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/ext4/acl.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-06-15T16:19:59Z</updated>
<entry>
<title>ext4: update ctime when changing the file's permission by setfacl</title>
<updated>2010-06-15T16:19:59Z</updated>
<author>
<name>Jan Kara</name>
</author>
<published>2010-06-15T16:19:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c6ac12a6159c802ae8b757dd13563564e64333df'/>
<id>urn:sha1:c6ac12a6159c802ae8b757dd13563564e64333df</id>
<content type='text'>
ext4 didn't update the ctime of the file when its permission was
changed.

Steps to reproduce:
 # touch aaa
 # stat -c %Z aaa
 1275289822
 # setfacl -m  'u::x,g::x,o::x' aaa
 # stat -c %Z aaa
 1275289822                         &lt;- unchanged

But, according to the spec of the ctime, ext4 must update it.

Port of ext3 patch by Miao Xie &lt;miaox@cn.fujitsu.com&gt;.

CC: linux-ext4@vger.kernel.org
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: constify xattr_handler</title>
<updated>2010-05-21T22:31:19Z</updated>
<author>
<name>Stephen Hemminger</name>
</author>
<published>2010-05-14T00:53:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=11e27528076e7dee63f1db78bffbef6310f076f4'/>
<id>urn:sha1:11e27528076e7dee63f1db78bffbef6310f076f4</id>
<content type='text'>
Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>sanitize xattr handler prototypes</title>
<updated>2009-12-16T17:16:49Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2009-11-13T09:52:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=431547b3c4533b8c7fd150ab36980b9a3147797b'/>
<id>urn:sha1:431547b3c4533b8c7fd150ab36980b9a3147797b</id>
<content type='text'>
Add a flags argument to struct xattr_handler and pass it to all xattr
handler methods.  This allows using the same methods for multiple
handlers, e.g. for the ACL methods which perform exactly the same action
for the access and default ACLs, just using a different underlying
attribute.  With a little more groundwork it'll also allow sharing the
methods for the regular user/trusted/secure handlers in extN, ocfs2 and
jffs2 like it's already done for xfs in this patch.

Also change the inode argument to the handlers to a dentry to allow
using the handlers mechnism for filesystems that require it later,
e.g. cifs.

[with GFS2 bits updated by Steven Whitehouse &lt;swhiteho@redhat.com&gt;]

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Reviewed-by: James Morris &lt;jmorris@namei.org&gt;
Acked-by: Joel Becker &lt;joel.becker@oracle.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ext[234]: move over to 'check_acl' permission model</title>
<updated>2009-09-08T18:09:04Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2009-08-28T19:12:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1d5ccd1c422d7d292a9e45248aa36771900c6331'/>
<id>urn:sha1:1d5ccd1c422d7d292a9e45248aa36771900c6331</id>
<content type='text'>
Don't implement per-filesystem 'extX_permission()' functions that have
to be called for every path component operation, and instead just expose
the actual ACL checking so that the VFS layer can now do it for us.

Reviewed-by: James Morris &lt;jmorris@namei.org&gt;
Acked-by: Serge Hallyn &lt;serue@us.ibm.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>helpers for acl caching + switch to those</title>
<updated>2009-06-24T12:17:07Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2009-06-09T16:11:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=073aaa1b142461d91f83da66db1184d7c1b1edea'/>
<id>urn:sha1:073aaa1b142461d91f83da66db1184d7c1b1edea</id>
<content type='text'>
helpers: get_cached_acl(inode, type), set_cached_acl(inode, type, acl),
forget_cached_acl(inode, type).

ubifs/xattr.c needed includes reordered, the rest is a plain switchover.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>switch ext4 to inode-&gt;i_acl</title>
<updated>2009-06-24T12:17:04Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2009-06-08T23:54:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d4bfe2f76d785cc77611a4bda8cedaff358d8c7d'/>
<id>urn:sha1:d4bfe2f76d785cc77611a4bda8cedaff358d8c7d</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ext4: avoid unnecessary spinlock in critical POSIX ACL path</title>
<updated>2009-06-17T04:36:35Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2009-06-08T19:22:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=210ad6aedb332e73167ece5af9bd47f0da8c2aca'/>
<id>urn:sha1:210ad6aedb332e73167ece5af9bd47f0da8c2aca</id>
<content type='text'>
If a filesystem supports POSIX ACL's, the VFS layer expects the filesystem
to do POSIX ACL checks on any files not owned by the caller, and it does
this for every single pathname component that it looks up.

That obviously can be pretty expensive if the filesystem isn't careful
about it, especially with locking. That's doubly sad, since the common
case tends to be that there are no ACL's associated with the files in
question.

ext4 already caches the ACL data so that it doesn't have to look it up
over and over again, but it does so by taking the inode-&gt;i_lock spinlock
on every lookup. Which is a noticeable overhead even if it's a private
lock, especially on CPU's where the serialization is expensive (eg Intel
Netburst aka 'P4').

For the special case of not actually having any ACL's, all that locking is
unnecessary. Even if somebody else were to be changing the ACL's on
another CPU, we simply don't care - if we've seen a NULL ACL, we might as
well use it.

So just load the ACL speculatively without any locking, and if it was
NULL, just use it. If it's non-NULL (either because we had a cached
entry, or because the cache hasn't been filled in at all), it means that
we'll need to get the lock and re-load it properly.

(This commit was ported from a patch originally authored by Linus for
ext3.)

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>New helper - current_umask()</title>
<updated>2009-04-01T03:00:26Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2009-03-29T23:08:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48'/>
<id>urn:sha1:ce3b0f8d5c2203301fc87f3aaaed73e5819e2a48</id>
<content type='text'>
current-&gt;fs-&gt;umask is what most of fs_struct users are doing.
Put that into a helper function.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ext4: Cleanup whitespace and other miscellaneous style issues</title>
<updated>2008-07-26T20:15:44Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2008-07-26T20:15:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2b2d6d019724de6e51ac5bcf22b5ef969daefa8b'/>
<id>urn:sha1:2b2d6d019724de6e51ac5bcf22b5ef969daefa8b</id>
<content type='text'>
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;

</content>
</entry>
<entry>
<title>[PATCH] sanitize -&gt;permission() prototype</title>
<updated>2008-07-27T00:53:14Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2008-07-16T01:03:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695'/>
<id>urn:sha1:e6305c43eda10ebfd2ad9e35d6e172ccc7bb3695</id>
<content type='text'>
* kill nameidata * argument; map the 3 bits in -&gt;flags anybody cares
  about to new MAY_... ones and pass with the mask.
* kill redundant gfs2_iop_permission()
* sanitize ecryptfs_permission()
* fix remaining places where -&gt;permission() instances might barf on new
  MAY_... found in mask.

The obvious next target in that direction is permission(9)

folded fix for nfs_permission() breakage from Miklos Szeredi &lt;mszeredi@suse.cz&gt;

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
</feed>
