<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/coda/dir.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-23T09:13:25Z</updated>
<entry>
<title>[PATCH] move executable checking into -&gt;permission()</title>
<updated>2008-10-23T09:13:25Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2008-07-31T11:41:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f696a3659fc4b3a3bf4bc83d9dbec5e5a2ffd929'/>
<id>urn:sha1:f696a3659fc4b3a3bf4bc83d9dbec5e5a2ffd929</id>
<content type='text'>
For execute permission on a regular files we need to check if file has
any execute bits at all, regardless of capabilites.

This check is normally performed by generic_permission() but was also
added to the case when the filesystem defines its own -&gt;permission()
method.  In the latter case the filesystem should be responsible for
performing this check.

Move the check from inode_permission() inside filesystems which are
not calling generic_permission().

Create a helper function execute_ok() that returns true if the inode
is a directory or if any execute bits are present in i_mode.

Also fix up the following code:

 - coda control file is never executable
 - sysctl files are never executable
 - hfs_permission seems broken on MAY_EXEC, remove
 - hfsplus_permission is eqivalent to generic_permission(), remove

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&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>
<entry>
<title>coda: add static to functions in dir.c</title>
<updated>2008-04-29T15:05:59Z</updated>
<author>
<name>Harvey Harrison</name>
</author>
<published>2008-04-29T07:58:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9fe76c763f0e18582bcb670c386978e83a755d05'/>
<id>urn:sha1:9fe76c763f0e18582bcb670c386978e83a755d05</id>
<content type='text'>
coda_unlink, coda_rmdir, coda_readdir can all be static, the forward
declarations already were.

Signed-off-by: Harvey Harrison &lt;harvey.harrison@gmail.com&gt;
Cc: Jan Harkes &lt;jaharkes@cs.cmu.edu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>coda: remove CODA_STORE/CODA_RELEASE upcalls</title>
<updated>2007-07-22T00:49:14Z</updated>
<author>
<name>Jan Harkes</name>
</author>
<published>2007-07-21T11:37:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d3fec424b23c47686efcf3f2004c3f1c1cee4d9c'/>
<id>urn:sha1:d3fec424b23c47686efcf3f2004c3f1c1cee4d9c</id>
<content type='text'>
This is an variation on the patch sent by Christoph Hellwig which kills
file_count abuse by the Coda kernel module by moving the coda_flush
functionality into coda_release.  However part of reason we were using the
coda_flush callback was to allow Coda to pass errors that occur during
writeback from the userspace cache manager back to close().

As Al Viro explained on linux-fsdevel, it is impossible to guarantee that
such errors can in fact be returned back to the caller.  There are many
cases where the last reference to a file is not released by the close
system call and it is also impossible to pick some close as a 'last-close'
and delay it until all other references have been destroyed.

The CODA_STORE/CODA_RELEASE upcall combination is clearly a broken design,
and it is better to remove it completely.

Signed-off-by: Jan Harkes &lt;jaharkes@cs.cmu.edu&gt;
Cc: Christoph Hellwig &lt;hch@lst.de&gt;
Cc: Al Viro &lt;viro@ftp.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>coda breakage</title>
<updated>2007-07-19T23:29:55Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2007-07-19T23:23:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f47c7eac65a45e33d7fe390effe75ec5c74f8bf'/>
<id>urn:sha1:5f47c7eac65a45e33d7fe390effe75ec5c74f8bf</id>
<content type='text'>
	a) switch by loff_t == __cmpdi2 use.  Replaced with a couple
of obvious ifs; update of -&gt;f_pos in the first one makes sure that we
do the right thing in all cases.
	b) block_signals() and unblock_signals() are globals on UML.
Renamed coda ones; in principle UML probably ought to do rename as
well, but that's another story.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>coda: remove statistics counters from /proc/fs/coda</title>
<updated>2007-07-19T17:04:48Z</updated>
<author>
<name>Jan Harkes</name>
</author>
<published>2007-07-19T08:48:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3cf01f28c303be34f18cb4f6204cf1bdfe12ba7c'/>
<id>urn:sha1:3cf01f28c303be34f18cb4f6204cf1bdfe12ba7c</id>
<content type='text'>
Similar information can easily be obtained with strace -c.

Signed-off-by: Jan Harkes &lt;jaharkes@cs.cmu.edu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>coda: cleanup coda_lookup, use dsplice_alias</title>
<updated>2007-07-19T17:04:48Z</updated>
<author>
<name>Jan Harkes</name>
</author>
<published>2007-07-19T08:48:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ed36f723676b208053d0655cee7e7f1601a2d356'/>
<id>urn:sha1:ed36f723676b208053d0655cee7e7f1601a2d356</id>
<content type='text'>
Signed-off-by: Jan Harkes &lt;jaharkes@cs.cmu.edu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>coda: avoid lockdep warning in coda_readdir</title>
<updated>2007-07-19T17:04:48Z</updated>
<author>
<name>Jan Harkes</name>
</author>
<published>2007-07-19T08:48:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=978752534e94b50c8078b229134a37bad9db88b2'/>
<id>urn:sha1:978752534e94b50c8078b229134a37bad9db88b2</id>
<content type='text'>
Signed-off-by: Jan Harkes &lt;jaharkes@cs.cmu.edu&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>coda: allow removal of busy directories</title>
<updated>2007-07-19T17:04:48Z</updated>
<author>
<name>Jan Harkes</name>
</author>
<published>2007-07-19T08:48:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8c6d21528406ec719aaea9d589876fd105c31646'/>
<id>urn:sha1:8c6d21528406ec719aaea9d589876fd105c31646</id>
<content type='text'>
A directory without children may still be busy when it is the cwd for some
process.  We can safely remove such a directory because the VFS prevents
further operations.  Also we don't need to call d_delete as it is already
called in vfs_rmdir.

Signed-off-by: Jan Harkes &lt;jaharkes@cs.cmu.edu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>coda: fix nlink updates for directories</title>
<updated>2007-07-19T17:04:48Z</updated>
<author>
<name>Jan Harkes</name>
</author>
<published>2007-07-19T08:48:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d728900cd5502927158db747c653007cf72e2e49'/>
<id>urn:sha1:d728900cd5502927158db747c653007cf72e2e49</id>
<content type='text'>
The Coda client sets the directory link count to 1 when it isn't sure how many
subdirectories we have.  In this case we shouldn't change the link count in
the kernel when a subdirectory is created or removed.

Signed-off-by: Jan Harkes &lt;jaharkes@cs.cmu.edu&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
