<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/dir.c, branch linux-3.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.3.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.3.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-01-04T03:54:54Z</updated>
<entry>
<title>switch -&gt;mknod() to umode_t</title>
<updated>2012-01-04T03:54:54Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-07-26T05:52:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a67aafb5f72a436ca044293309fa7e6351d6a35'/>
<id>urn:sha1:1a67aafb5f72a436ca044293309fa7e6351d6a35</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>switch -&gt;create() to umode_t</title>
<updated>2012-01-04T03:54:53Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-07-26T05:42:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4acdaf27ebe2034c342f3be57ef49aed1ad885ef'/>
<id>urn:sha1:4acdaf27ebe2034c342f3be57ef49aed1ad885ef</id>
<content type='text'>
vfs_create() ignores everything outside of 16bit subset of its
mode argument; switching it to umode_t is obviously equivalent
and it's the only caller of the method

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>switch vfs_mkdir() and -&gt;mkdir() to umode_t</title>
<updated>2012-01-04T03:54:53Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-07-26T05:41:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18bb1db3e7607e4a997d50991a6f9fa5b0f8722c'/>
<id>urn:sha1:18bb1db3e7607e4a997d50991a6f9fa5b0f8722c</id>
<content type='text'>
vfs_mkdir() gets int, but immediately drops everything that might not
fit into umode_t and that's the only caller of -&gt;mkdir()...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>pull manipulations of rpc_cred inside alloc_nfs_open_context()</title>
<updated>2012-01-04T03:52:34Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-10-23T22:49:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ede7b1cfa8201418fb35e12f770e9e7c2559a4d'/>
<id>urn:sha1:5ede7b1cfa8201418fb35e12f770e9e7c2559a4d</id>
<content type='text'>
No need to duplicate them in both callers; make it return
ERR_PTR(-ENOMEM) on allocation failure instead of NULL and
it'll be able to report rpc_lookup_cred() failures just
fine.  Callers are much happier that way...

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>nfs: when attempting to open a directory, fall back on normal lookup (try #5)</title>
<updated>2011-11-04T20:39:04Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2011-11-04T17:31:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1788ea6e3b2a58cf4fb00206e362d9caff8d86a7'/>
<id>urn:sha1:1788ea6e3b2a58cf4fb00206e362d9caff8d86a7</id>
<content type='text'>
commit d953126 changed how nfs_atomic_lookup handles an -EISDIR return
from an OPEN call. Prior to that patch, that caused the client to fall
back to doing a normal lookup. When that patch went in, the code began
returning that error to userspace. The d_revalidate codepath however
never had the corresponding change, so it was still possible to end up
with a NULL ctx-&gt;state pointer after that.

That patch caused a regression. When we attempt to open a directory that
does not have a cached dentry, that open now errors out with EISDIR. If
you attempt the same open with a cached dentry, it will succeed.

Fix this by reverting the change in nfs_atomic_lookup and allowing
attempts to open directories to fall back to a normal lookup

Also, add a NFSv4-specific f_ops-&gt;open routine that just returns
-ENOTDIR. This should never be called if things are working properly,
but if it ever is, then the dprintk may help in debugging.

To facilitate this, a new file_operations field is also added to the
nfs_rpc_ops struct.

Cc: stable@kernel.org
Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>Additional readdir cookie loop information</title>
<updated>2011-07-30T18:37:14Z</updated>
<author>
<name>Bryan Schumaker</name>
</author>
<published>2011-07-29T15:49:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=374e4e3ec347d4f70e1417ce3e1c454f133dab72'/>
<id>urn:sha1:374e4e3ec347d4f70e1417ce3e1c454f133dab72</id>
<content type='text'>
Print out the name of the file that triggers the cookie loop  message to
make it slightly easier to track down the cause.

Signed-off-by: Bryan Schumaker &lt;bjschuma@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix spurious readdir cookie loop messages</title>
<updated>2011-07-30T18:34:50Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2011-07-30T16:45:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0c0308066ca53fdf1423895f3a42838b67b3a5a8'/>
<id>urn:sha1:0c0308066ca53fdf1423895f3a42838b67b3a5a8</id>
<content type='text'>
If the directory contents change, then we have to accept that the
file-&gt;f_pos value may shrink if we do a 'search-by-cookie'. In that
case, we should turn off the loop detection and let the NFS client
try to recover.

The patch also fixes a second loop detection bug by ensuring
that after turning on the ctx-&gt;duped flag, we read at least one new
cookie into ctx-&gt;dir_cookie before attempting to match with
ctx-&gt;dup_cookie.

Reported-by: Petr Vandrovec &lt;petr@vandrovec.name&gt;
Cc: stable@kernel.org [2.6.39+]
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>fs: push i_mutex and filemap_write_and_wait down into -&gt;fsync() handlers</title>
<updated>2011-07-21T00:47:59Z</updated>
<author>
<name>Josef Bacik</name>
</author>
<published>2011-07-17T00:44:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02c24a82187d5a628c68edfe71ae60dc135cd178'/>
<id>urn:sha1:02c24a82187d5a628c68edfe71ae60dc135cd178</id>
<content type='text'>
Btrfs needs to be able to control how filemap_write_and_wait_range() is called
in fsync to make it less of a painful operation, so push down taking i_mutex and
the calling of filemap_write_and_wait() down into the -&gt;fsync() handlers.  Some
file systems can drop taking the i_mutex altogether it seems, like ext3 and
ocfs2.  For correctness sake I just pushed everything down in all cases to make
sure that we keep the current behavior the same for everybody, and then each
individual fs maintainer can make up their mind about what to do from there.
Thanks,

Acked-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Josef Bacik &lt;josef@redhat.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>nfs: LOOKUP_{OPEN,CREATE,EXCL} is set only on the last step</title>
<updated>2011-07-20T05:44:02Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-06-26T01:48:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8aeb376ca0fe61038166c3b8243c678addb80abf'/>
<id>urn:sha1:8aeb376ca0fe61038166c3b8243c678addb80abf</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>no need to check for LOOKUP_OPEN in -&gt;create() instances</title>
<updated>2011-07-20T05:43:56Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-06-26T01:17:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dd7dd556e45133ef13f2c4bddc0e0b1ac23bc0e4'/>
<id>urn:sha1:dd7dd556e45133ef13f2c4bddc0e0b1ac23bc0e4</id>
<content type='text'>
... it will be set in nd-&gt;flag for all cases with non-NULL nd
(i.e. when called from do_last()).

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