<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/dir.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-02-17T23:14:13Z</updated>
<entry>
<title>NFS: Fix NFSv3 exclusive open semantics</title>
<updated>2011-02-17T23:14:13Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2011-01-13T19:15:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5cc08212d21eb9e855ea6d4ad2b5a68afcf06a9'/>
<id>urn:sha1:f5cc08212d21eb9e855ea6d4ad2b5a68afcf06a9</id>
<content type='text'>
commit 8a0eebf66e3b1deae036553ba641a9c2bdbae678 upstream.

Commit c0204fd2b8fe047b18b67e07e1bf2a03691240cd (NFS: Clean up
nfs4_proc_create()) broke NFSv3 exclusive open by removing the code
that passes the O_EXCL flag down to nfs3_proc_create(). This patch
reverts that offending hunk from the original commit.

Reported-by: Nick Bowler &lt;nbowler@elliptictech.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Tested-by: Nick Bowler &lt;nbowler@elliptictech.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>NFS: Don't use vm_map_ram() in readdir</title>
<updated>2011-02-17T23:14:13Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2011-01-08T22:45:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55ea499d60aefa3d03a77fc8590c26b5881faa92'/>
<id>urn:sha1:55ea499d60aefa3d03a77fc8590c26b5881faa92</id>
<content type='text'>
commit 6650239a4b01077e80d5a4468562756d77afaa59 upstream.

vm_map_ram() is not available on NOMMU platforms, and causes trouble
on incoherrent architectures such as ARM when we access the page data
through both the direct and the virtual mapping.

The alternative is to use the direct mapping to access page data
for the case when we are not crossing a page boundary, but to copy
the data into a linear scratch buffer when we are accessing data
that spans page boundaries.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Tested-by: Marc Kleine-Budde &lt;mkl@pengutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>NFS: Readdir cleanups</title>
<updated>2010-12-07T19:09:02Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2010-12-07T17:44:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=47c716cbf638a16583441d78be3fc24345eab636'/>
<id>urn:sha1:47c716cbf638a16583441d78be3fc24345eab636</id>
<content type='text'>
No functional changes, but clarify the code.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: nfs_readdir_search_for_cookie() don't mark as eof if cookie not found</title>
<updated>2010-12-07T17:41:58Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2010-12-07T17:41:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18fb5fe40ce7f789b5cfc3aa81ff1e6175b0a5be'/>
<id>urn:sha1:18fb5fe40ce7f789b5cfc3aa81ff1e6175b0a5be</id>
<content type='text'>
If we're searching for a specific cookie, and it isn't found in the page
cache, we should try an uncached_readdir(). To do so, we return EBADCOOKIE,
but we don't set desc-&gt;eof.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix a memory leak in nfs_readdir</title>
<updated>2010-12-02T14:58:00Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2010-12-01T19:17:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=11de3b11e08cac26d59e88efaf4e316701883552'/>
<id>urn:sha1:11de3b11e08cac26d59e88efaf4e316701883552</id>
<content type='text'>
We need to ensure that the entries in the nfs_cache_array get cleared
when the page is removed from the page cache. To do so, we use the
freepage address_space operation.

Change nfs_readdir_clear_array to use kmap_atomic(), so that the
function can be safely called from all contexts.

Finally, modify the cache_page_release helper to call
nfs_readdir_clear_array directly, when dealing with an anonymous
page from 'uncached_readdir'.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Ensure we use the correct cookie in nfs_readdir_xdr_filler</title>
<updated>2010-12-01T13:16:16Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2010-12-01T02:56:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0aded708d125a3ff7e5abaea9c2d9c6d7ebbfdcd'/>
<id>urn:sha1:0aded708d125a3ff7e5abaea9c2d9c6d7ebbfdcd</id>
<content type='text'>
We need to use the cookie from the previous array entry, not the
actual cookie that we are searching for (except for the case of
uncached_readdir).

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix a readdirplus bug</title>
<updated>2010-11-30T18:18:49Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2010-11-30T17:42:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=37a09f07459753e7c98d4e21f1c61e8756923f81'/>
<id>urn:sha1:37a09f07459753e7c98d4e21f1c61e8756923f81</id>
<content type='text'>
When comparing filehandles in the helper nfs_same_file(), we should not be
using 'strncmp()': filehandles are not null terminated strings.

Instead, we should just use the existing helper nfs_compare_fh().

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>NFS: Ensure we return the dirent-&gt;d_type when it is known</title>
<updated>2010-11-22T18:24:48Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2010-11-20T19:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0b26a0bf6ff398185546432420bb772bcfdf8d94'/>
<id>urn:sha1:0b26a0bf6ff398185546432420bb772bcfdf8d94</id>
<content type='text'>
Store the dirent-&gt;d_type in the struct nfs_cache_array_entry so that we
can use it in getdents() calls.

This fixes a regression with the new readdir code.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Correct the array bound calculation in nfs_readdir_add_to_array</title>
<updated>2010-11-22T18:24:47Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2010-11-20T20:18:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3020093f578fb6c9acc6914dfd887a1ebd1db659'/>
<id>urn:sha1:3020093f578fb6c9acc6914dfd887a1ebd1db659</id>
<content type='text'>
It looks as if the array size calculation in MAX_READDIR_ARRAY does not
take the alignment of struct nfs_cache_array_entry into account.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Don't ignore errors from nfs_do_filldir()</title>
<updated>2010-11-22T18:24:47Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2010-11-20T18:55:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ece0b4233b6b915d1f63add2bd9f2733aec6317a'/>
<id>urn:sha1:ece0b4233b6b915d1f63add2bd9f2733aec6317a</id>
<content type='text'>
We should ignore the errors from the filldir callback, and just interpret
them as meaning we should exit, however we should definitely pass back
ENOMEM errors.

Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
</feed>
