<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/fs/namei.c, branch linux-3.5.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2012-06-01T16:12:01+00:00</updated>
<entry>
<title>vfs: retry last component if opening stale dentry</title>
<updated>2012-06-01T16:12:01+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=16b1c1cd71176ab0a76b26818fbf12db9183ed57'/>
<id>urn:sha1:16b1c1cd71176ab0a76b26818fbf12db9183ed57</id>
<content type='text'>
NFS optimizes away d_revalidates for last component of open.  This means that
open itself can find the dentry stale.

This patch allows the filesystem to return EOPENSTALE and the VFS will retry the
lookup on just the last component if possible.

If the lookup was done using RCU mode, including the last component, then this
is not possible since the parent dentry is lost.  In this case fall back to
non-RCU lookup.  Currently this is not used since NFS will always leave RCU
mode.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: do_last() common post lookup</title>
<updated>2012-06-01T16:12:00+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5f5daac12a4cef568d1269be0215fec0667193c1'/>
<id>urn:sha1:5f5daac12a4cef568d1269be0215fec0667193c1</id>
<content type='text'>
Now the post lookup code can be shared between O_CREAT and plain opens since
they are essentially the same.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: do_last(): add audit_inode before open</title>
<updated>2012-06-01T16:11:59+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d7fdd7f6e1afbffda03aeacb90039c092e8cacf8'/>
<id>urn:sha1:d7fdd7f6e1afbffda03aeacb90039c092e8cacf8</id>
<content type='text'>
This allows this code to be shared between O_CREAT and plain opens.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: do_last(): only return EISDIR for O_CREAT</title>
<updated>2012-06-01T16:11:59+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=050ac841ea90610067fec26150574be8c6077738'/>
<id>urn:sha1:050ac841ea90610067fec26150574be8c6077738</id>
<content type='text'>
This allows this code to be shared between O_CREAT and plain opens.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: do_last(): check LOOKUP_DIRECTORY</title>
<updated>2012-06-01T16:11:58+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=af2f55426d1d888dcc0ba8dc9e9deb49fae38e38'/>
<id>urn:sha1:af2f55426d1d888dcc0ba8dc9e9deb49fae38e38</id>
<content type='text'>
Check for ENOTDIR before finishing open.  This allows this code to be shared
between O_CREAT and plain opens.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: do_last(): make ENOENT exit RCU safe</title>
<updated>2012-06-01T16:11:58+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=54c33e7f95284539e52ec2d99dcdf6efd29b247f'/>
<id>urn:sha1:54c33e7f95284539e52ec2d99dcdf6efd29b247f</id>
<content type='text'>
This will allow this code to be used in RCU mode.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: make follow_link check RCU safe</title>
<updated>2012-06-01T16:11:58+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d45ea86792db9679ed010b2c3df3db32b2ce5bde'/>
<id>urn:sha1:d45ea86792db9679ed010b2c3df3db32b2ce5bde</id>
<content type='text'>
This will allow this code to be used in RCU mode.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: do_last(): use inode variable</title>
<updated>2012-06-01T16:11:57+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=decf3400879d02d0eafedea52c7f208587be062a'/>
<id>urn:sha1:decf3400879d02d0eafedea52c7f208587be062a</id>
<content type='text'>
Use helper variable instead of path-&gt;dentry-&gt;d_inode before complete_walk().
This will allow this code to be used in RCU mode.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: do_last(): inline walk_component()</title>
<updated>2012-06-01T16:11:57+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a1eb33153090549e622ab42cb375af06614dd7a8'/>
<id>urn:sha1:a1eb33153090549e622ab42cb375af06614dd7a8</id>
<content type='text'>
Copy walk_component() into do_lookup().

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: do_last(): make exit RCU safe</title>
<updated>2012-06-01T16:11:57+00:00</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-05-21T15:30:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e276ae672fa2d727721b1a5a2508ff34bac85439'/>
<id>urn:sha1:e276ae672fa2d727721b1a5a2508ff34bac85439</id>
<content type='text'>
Allow returning from do_last() with LOOKUP_RCU still set on the "out:" and
"exit:" labels.

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