<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/ceph/acl.c, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-04-23T19:41:30Z</updated>
<entry>
<title>ceph: Get rid of d_find_alias in ceph_set_acl</title>
<updated>2016-04-23T19:41:30Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2016-04-13T22:30:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a26feccaba296bd0ae410eabce79cb3443c8a701'/>
<id>urn:sha1:a26feccaba296bd0ae410eabce79cb3443c8a701</id>
<content type='text'>
Create a variant of ceph_setattr that takes an inode instead of a
dentry.  Change __ceph_setxattr (and also __ceph_removexattr) to take an
inode instead of a dentry.  Use those in ceph_set_acl so that we no
longer need a dentry there.

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Signed-off-by: "Yan, Zheng" &lt;zyan@redhat.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>posix_acl: Inode acl caching fixes</title>
<updated>2016-03-31T04:30:15Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2016-03-24T13:38:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b8a7a3a6674725d7ca0ff6e322f6c1cab6e6a11d'/>
<id>urn:sha1:b8a7a3a6674725d7ca0ff6e322f6c1cab6e6a11d</id>
<content type='text'>
When get_acl() is called for an inode whose ACL is not cached yet, the
get_acl inode operation is called to fetch the ACL from the filesystem.
The inode operation is responsible for updating the cached acl with
set_cached_acl().  This is done without locking at the VFS level, so
another task can call set_cached_acl() or forget_cached_acl() before the
get_acl inode operation gets to calling set_cached_acl(), and then
get_acl's call to set_cached_acl() results in caching an outdate ACL.

Prevent this from happening by setting the cached ACL pointer to a
task-specific sentinel value before calling the get_acl inode operation.
Move the responsibility for updating the cached ACL from the get_acl
inode operations to get_acl().  There, only set the cached ACL if the
sentinel value hasn't changed.

The sentinel values are chosen to have odd values.  Likewise, the value
of ACL_NOT_CACHED is odd.  In contrast, ACL object pointers always have
an even value (ACLs are aligned in memory).  This allows to distinguish
uncached ACLs values from ACL objects.

In addition, switch from guarding inode-&gt;i_acl and inode-&gt;i_default_acl
upates by the inode-&gt;i_lock spinlock to using xchg() and cmpxchg().

Filesystems that do not want ACLs returned from their get_acl inode
operations to be cached must call forget_cached_acl() to prevent the VFS
from doing so.

(Patch written by Al Viro and Andreas Gruenbacher.)

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>posix acls: Remove duplicate xattr name definitions</title>
<updated>2015-12-07T02:25:17Z</updated>
<author>
<name>Andreas Gruenbacher</name>
</author>
<published>2015-12-02T13:44:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=97d79299223baab330b194437e676d301f12d5f6'/>
<id>urn:sha1:97d79299223baab330b194437e676d301f12d5f6</id>
<content type='text'>
Remove POSIX_ACL_XATTR_{ACCESS,DEFAULT} and GFS2_POSIX_ACL_{ACCESS,DEFAULT}
and replace them with the definitions in &lt;include/uapi/linux/xattr.h&gt;.

Signed-off-by: Andreas Gruenbacher &lt;agruenba@redhat.com&gt;
Reviewed-by: James Morris &lt;james.l.morris@oracle.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ceph: switch some GFP_NOFS memory allocation to GFP_KERNEL</title>
<updated>2015-06-25T08:49:31Z</updated>
<author>
<name>Yan, Zheng</name>
</author>
<published>2015-06-13T09:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=687265e5a885d6308f5d73e738efe3c2674fa218'/>
<id>urn:sha1:687265e5a885d6308f5d73e738efe3c2674fa218</id>
<content type='text'>
GFP_NOFS memory allocation is required for page writeback path.
But there is no need to use GFP_NOFS in syscall path and readpage
path

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>ceph: acl: Remove unused function</title>
<updated>2015-02-19T10:31:38Z</updated>
<author>
<name>Rickard Strandqvist</name>
</author>
<published>2015-01-03T23:44:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=671762f8071563847e50f45c6fb0b329e6e8cf9a'/>
<id>urn:sha1:671762f8071563847e50f45c6fb0b329e6e8cf9a</id>
<content type='text'>
Remove the function ceph_get_cached_acl() that is not used anywhere.

This was partially found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist &lt;rickard_strandqvist@spectrumdigital.se&gt;
Reviewed-by: Yan, Zheng &lt;zyan@redhat.com&gt;
</content>
</entry>
<entry>
<title>ceph: include the initial ACL in create/mkdir/mknod MDS requests</title>
<updated>2014-10-14T19:56:49Z</updated>
<author>
<name>Yan, Zheng</name>
</author>
<published>2014-09-16T12:35:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b1ee94aa593abd03634bc3887b8e189840e42c12'/>
<id>urn:sha1:b1ee94aa593abd03634bc3887b8e189840e42c12</id>
<content type='text'>
Current code set new file/directory's initial ACL in a non-atomic
manner.
Client first sends request to MDS to create new file/directory, then set
the initial ACL after the new file/directory is successfully created.

The fix is include the initial ACL in create/mkdir/mknod MDS requests.
So MDS can handle creating file/directory and setting the initial ACL in
one request.

Signed-off-by: Yan, Zheng &lt;zyan@redhat.com&gt;
Reviewed-by: Sage Weil &lt;sage@redhat.com&gt;
</content>
</entry>
<entry>
<title>ceph: properly apply umask when ACL is enabled</title>
<updated>2014-07-08T11:08:47Z</updated>
<author>
<name>Yan, Zheng</name>
</author>
<published>2014-07-04T05:59:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5f186474335ac385def69564542e6e4c6a3a8bd'/>
<id>urn:sha1:f5f186474335ac385def69564542e6e4c6a3a8bd</id>
<content type='text'>
when ACL is enabled, posix_acl_create() may change inode's mode

Signed-off-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
</content>
</entry>
<entry>
<title>ceph: remove useless ACL check</title>
<updated>2014-06-06T01:29:50Z</updated>
<author>
<name>Zhang Zhen</name>
</author>
<published>2014-04-10T05:29:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=979d4c1895474aafa473f441846dd3b6f7276202'/>
<id>urn:sha1:979d4c1895474aafa473f441846dd3b6f7276202</id>
<content type='text'>
posix_acl_xattr_set() already does the check, and it's the only
way to feed in an ACL from userspace.
So the check here is useless, remove it.

Signed-off-by: zhang zhen &lt;zhenzhang.zhang@huawei.com&gt;
Reviewed-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
</content>
</entry>
<entry>
<title>ceph: make ceph_forget_all_cached_acls() static inline</title>
<updated>2014-02-17T20:37:12Z</updated>
<author>
<name>Guangliang Zhao</name>
</author>
<published>2014-02-16T16:35:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c969d9bf91e1868d823351993216cd64dfab6a4c'/>
<id>urn:sha1:c969d9bf91e1868d823351993216cd64dfab6a4c</id>
<content type='text'>
Signed-off-by: Guangliang Zhao &lt;lucienchao@gmail.com&gt;
Reviewed-by: Alex Elder &lt;elder@linaro.org&gt;
Signed-off-by: Sage Weil &lt;sage@inktank.com&gt;
</content>
</entry>
<entry>
<title>ceph: fix ceph_set_acl()</title>
<updated>2014-02-17T20:37:11Z</updated>
<author>
<name>Yan, Zheng</name>
</author>
<published>2014-02-11T05:08:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7a92d64760541e66bf5d1131f029b82773ce3922'/>
<id>urn:sha1:7a92d64760541e66bf5d1131f029b82773ce3922</id>
<content type='text'>
If acl is equivalent to file mode permission bits, ceph_set_acl()
needs to remove any existing acl xattr. Use __ceph_setxattr() to
handle both setting and removing acl xattr cases, it doesn't return
-ENODATA when there is no acl xattr.

Signed-off-by: Yan, Zheng &lt;zheng.z.yan@intel.com&gt;
</content>
</entry>
</feed>
