<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/ncpfs/dir.c, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-01-01T01:27:50Z</updated>
<entry>
<title>move d_rcu from overlapping d_child to overlapping d_alias</title>
<updated>2015-01-01T01:27:50Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2014-10-26T23:19:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=026181647a6262f4ba6d60c0847d306ad685468c'/>
<id>urn:sha1:026181647a6262f4ba6d60c0847d306ad685468c</id>
<content type='text'>
commit 946e51f2bf37f1656916eb75bd0742ba33983c28 upstream.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
[bwh: Backported to 3.2:
 - Apply name changes in all the different places we use d_alias and d_child
 - Move the WARN_ON() in __d_free() to d_free() as we don't have dentry_free()]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ncpfs: fix rmdir returns Device or resource busy</title>
<updated>2013-06-29T03:06:44Z</updated>
<author>
<name>Dave Chiluk</name>
</author>
<published>2013-05-28T21:06:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=21544884d7d5f8890314271c158926ca0de43719'/>
<id>urn:sha1:21544884d7d5f8890314271c158926ca0de43719</id>
<content type='text'>
commit 698b8223631472bf982ed570b0812faa61955683 upstream.

1d2ef5901483004d74947bbf78d5146c24038fe7 caused a regression in ncpfs such that
directories could no longer be removed.  This was because ncp_rmdir checked
to see if a dentry could be unhashed before allowing it to be removed. Since
1d2ef5901483004d74947bbf78d5146c24038fe7 introduced a change that incremented
dentry-&gt;d_count causing it to always be greater than 1 unhash would always
fail.  Thus causing the error path in ncp_rmdir to always be taken.  Removing
this error path is safe as unhashing is still accomplished by calls to dput
from vfs_rmdir.

Signed-off-by: Dave Chiluk &lt;chiluk@canonical.com&gt;
Signed-off-by: Petr Vandrovec &lt;petr@vandrovec.name&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>ncpfs: fix rename over directory with dangling references</title>
<updated>2011-05-28T05:02:53Z</updated>
<author>
<name>Sage Weil</name>
</author>
<published>2011-05-27T20:42:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=76cc071a06afb4d2dd17bb1b855a233a419e7e02'/>
<id>urn:sha1:76cc071a06afb4d2dd17bb1b855a233a419e7e02</id>
<content type='text'>
ncpfs does not handle references to unlinked directories (or so it would
seem given the ncp_rmdir check).  Since it is also possible to rename over
an empty directory, perform the same check here.

CC: Petr Vandrovec &lt;petr@vandrovec.name&gt;
CC: linux-kernel@vger.kernel.org
Signed-off-by: Sage Weil &lt;sage@newdream.net&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ncpfs: document dentry_unhash usage</title>
<updated>2011-05-28T05:02:53Z</updated>
<author>
<name>Sage Weil</name>
</author>
<published>2011-05-27T20:42:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ce605d93b775e8a960b0be244f7be565e73b3c1'/>
<id>urn:sha1:7ce605d93b775e8a960b0be244f7be565e73b3c1</id>
<content type='text'>
ncpfs returns EBUSY if there are any references to the directory.  The
dentry_unhash call only unhashes the dentry if there are no references.

CC: Petr Vandrovec &lt;petr@vandrovec.name&gt;
CC: linux-kernel@vger.kernel.org
Signed-off-by: Sage Weil &lt;sage@newdream.net&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: push dentry_unhash on rename_dir into file systems</title>
<updated>2011-05-26T11:26:48Z</updated>
<author>
<name>Sage Weil</name>
</author>
<published>2011-05-24T20:06:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4eaac06bcccb2a70bca6a2de9871882dce2aa14'/>
<id>urn:sha1:e4eaac06bcccb2a70bca6a2de9871882dce2aa14</id>
<content type='text'>
Only a few file systems need this.  Start by pushing it down into each
rename method (except gfs2 and xfs) so that it can be dealt with on a
per-fs basis.

Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Sage Weil &lt;sage@newdream.net&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: push dentry_unhash on rmdir into file systems</title>
<updated>2011-05-26T11:26:47Z</updated>
<author>
<name>Sage Weil</name>
</author>
<published>2011-05-24T20:06:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=79bf7c732b5ff75b96022ed9d29181afd3d2509c'/>
<id>urn:sha1:79bf7c732b5ff75b96022ed9d29181afd3d2509c</id>
<content type='text'>
Only a few file systems need this.  Start by pushing it down into each
fs rmdir method (except gfs2 and xfs) so it can be dealt with on a per-fs
basis.

This does not change behavior for any in-tree file systems.

Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Sage Weil &lt;sage@newdream.net&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>move internal-only parts of ncpfs headers to fs/ncpfs</title>
<updated>2011-01-13T01:03:43Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-01-12T22:37:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32c419d95f3d1da891ab9bd032a214ee05b94ed4'/>
<id>urn:sha1:32c419d95f3d1da891ab9bd032a214ee05b94ed4</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>switch ncpfs</title>
<updated>2011-01-13T01:03:43Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-01-12T22:25:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0378c4051a621303ae919f1cee832206a4c1aa68'/>
<id>urn:sha1:0378c4051a621303ae919f1cee832206a4c1aa68</id>
<content type='text'>
merge dentry_operations for root and non-root

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>fs: rcu-walk aware d_revalidate method</title>
<updated>2011-01-07T06:50:29Z</updated>
<author>
<name>Nick Piggin</name>
</author>
<published>2011-01-07T06:49:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=34286d6662308d82aed891852d04c7c3a2649b16'/>
<id>urn:sha1:34286d6662308d82aed891852d04c7c3a2649b16</id>
<content type='text'>
Require filesystems be aware of .d_revalidate being called in rcu-walk
mode (nd-&gt;flags &amp; LOOKUP_RCU). For now do a simple push down, returning
-ECHILD from all implementations.

Signed-off-by: Nick Piggin &lt;npiggin@kernel.dk&gt;
</content>
</entry>
<entry>
<title>fs: dcache reduce branches in lookup path</title>
<updated>2011-01-07T06:50:28Z</updated>
<author>
<name>Nick Piggin</name>
</author>
<published>2011-01-07T06:49:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb045adb99d9b7c562dc7fef834857f78249daa1'/>
<id>urn:sha1:fb045adb99d9b7c562dc7fef834857f78249daa1</id>
<content type='text'>
Reduce some branches and memory accesses in dcache lookup by adding dentry
flags to indicate common d_ops are set, rather than having to check them.
This saves a pointer memory access (dentry-&gt;d_op) in common path lookup
situations, and saves another pointer load and branch in cases where we
have d_op but not the particular operation.

Patched with:

git grep -E '[.&gt;]([[:space:]])*d_op([[:space:]])*=' | xargs sed -e 's/\([^\t ]*\)-&gt;d_op = \(.*\);/d_set_d_op(\1, \2);/' -e 's/\([^\t ]*\)\.d_op = \(.*\);/d_set_d_op(\&amp;\1, \2);/' -i

Signed-off-by: Nick Piggin &lt;npiggin@kernel.dk&gt;
</content>
</entry>
</feed>
