<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/blocklayout/blocklayout.c, branch linux-3.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-10-31T17:10:32Z</updated>
<entry>
<title>pnfsblock: fix non-aligned DIO write</title>
<updated>2012-10-31T17:10:32Z</updated>
<author>
<name>Peng Tao</name>
</author>
<published>2012-08-23T16:27:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e8a8c5319cf390ab1895d78f6ffcd2c8038f0075'/>
<id>urn:sha1:e8a8c5319cf390ab1895d78f6ffcd2c8038f0075</id>
<content type='text'>
commit 96c9eae638765c2bf2ca4f5a6325484f9bb69aa7 upstream.

For DIO writes, if it is not blocksize aligned, we need to do
internal serialization. It may slow down writers anyway. So we
just bail them out and resend to MDS.

Signed-off-by: Peng Tao &lt;tao.peng@emc.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pnfsblock: fix non-aligned DIO read</title>
<updated>2012-10-31T17:10:32Z</updated>
<author>
<name>Peng Tao</name>
</author>
<published>2012-08-23T16:27:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d1e1f0083e6cb81df51838f8a7824436edd96a95'/>
<id>urn:sha1:d1e1f0083e6cb81df51838f8a7824436edd96a95</id>
<content type='text'>
commit f742dc4a32587bff50b13dde9d8894b96851951a upstream.

For DIO read, if it is not sector aligned, we should reject it
and resend via MDS. Otherwise there might be data corruption.
Also teach bl_read_pagelist to handle partial page reads for DIO.

Signed-off-by: Peng Tao &lt;tao.peng@emc.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pnfsblock: fix partial page buffer wirte</title>
<updated>2012-10-21T16:32:37Z</updated>
<author>
<name>Peng Tao</name>
</author>
<published>2012-08-23T16:27:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fda45cc12ebb7060131111442844f977555e3b9b'/>
<id>urn:sha1:fda45cc12ebb7060131111442844f977555e3b9b</id>
<content type='text'>
commit fe6e1e8d9fad86873eb74a26e80a8f91f9e870b5 upstream.

If applications use flock to protect its write range, generic NFS
will not do read-modify-write cycle at page cache level. Therefore
LD should know how to handle non-sector aligned writes. Otherwise
there will be data corruption.

Signed-off-by: Peng Tao &lt;tao.peng@emc.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pnfsblock: bail out partial page IO</title>
<updated>2012-07-30T22:52:06Z</updated>
<author>
<name>Peng Tao</name>
</author>
<published>2012-05-29T05:57:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=159e0561e322dd8008fff59e36efff8d2bdd0b0e'/>
<id>urn:sha1:159e0561e322dd8008fff59e36efff8d2bdd0b0e</id>
<content type='text'>
Current block layout driver read/write code assumes page
aligned IO in many places. Add a checker to validate the assumption.
Otherwise there would be data corruption like when application does
open(O_WRONLY) and page unaliged write.

Signed-off-by: Peng Tao &lt;tao.peng@emc.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: create struct nfs_page_array</title>
<updated>2012-04-27T18:10:37Z</updated>
<author>
<name>Fred Isaman</name>
</author>
<published>2012-04-20T18:47:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=30dd374f6fc1b202db3a1b57b61afff1326bad92'/>
<id>urn:sha1:30dd374f6fc1b202db3a1b57b61afff1326bad92</id>
<content type='text'>
Both nfs_read_data and nfs_write_data devote several fields which
can be combined into a single shared struct.

Signed-off-by: Fred Isaman &lt;iisaman@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: create common nfs_pgio_header for both read and write</title>
<updated>2012-04-27T18:10:37Z</updated>
<author>
<name>Fred Isaman</name>
</author>
<published>2012-04-20T18:47:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cd841605f7a721878d8a2d1362484723d8abf569'/>
<id>urn:sha1:cd841605f7a721878d8a2d1362484723d8abf569</id>
<content type='text'>
In order to avoid duplicating all the data in nfs_read_data whenever we
split it up into multiple RPC calls (either due to a short read result
or due to rsize &lt; PAGE_SIZE), we split out the bits that are the same
per RPC call into a separate "header" structure.

The goal this patch moves towards is to have a single header
refcounted by several rpc_data structures.  Thus, want to always refer
from rpc_data to the header, and not the other way.  This patch comes
close to that ideal, but the directio code currently needs some
special casing, isolated in the nfs_direct_[read_write]hdr_release()
functions.  This will be dealt with in a future patch.

Signed-off-by: Fred Isaman &lt;iisaman@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>fix page number calculation bug for block layout decode buffer</title>
<updated>2012-04-26T16:23:23Z</updated>
<author>
<name>Jim Rees</name>
</author>
<published>2012-04-10T02:33:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=10bd295a0b6488ebe634b72a11d8986bd3af3819'/>
<id>urn:sha1:10bd295a0b6488ebe634b72a11d8986bd3af3819</id>
<content type='text'>
Signed-off-by: Jim Rees &lt;rees@umich.edu&gt;
Suggested-by: Andy Adamson &lt;andros@netapp.com&gt;
Suggested-by: Fred Isaman &lt;iisaman@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: Fix more NFS debug related build warnings</title>
<updated>2012-03-21T13:31:44Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2012-03-20T18:12:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6f00866ddd15724eb20eac4ddf6e2c6c1a6cfcdc'/>
<id>urn:sha1:6f00866ddd15724eb20eac4ddf6e2c6c1a6cfcdc</id>
<content type='text'>
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: replace global bl_wq with per-net one</title>
<updated>2012-03-11T14:57:35Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
</author>
<published>2012-03-11T14:20:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ffaf8554163d9f3873988ce2f9977f6c6f408d2'/>
<id>urn:sha1:5ffaf8554163d9f3873988ce2f9977f6c6f408d2</id>
<content type='text'>
This queue is used for sleeping in kernel and it have to be per-net since we
don't want to wake any other waiters except in out network nemespace.
BTW, move wq to per-net data is easy. But some way to handle upcall timeouts
have to be provided. On message destroy in case of timeout, tasks, waiting for
message to be delivered, should be awakened. Thus, some data required to
located the right wait queue. Chosen solution replaces rpc_pipe_msg object with
new introduced bl_pipe_msg object, containing rpc_pipe_msg and proper wq.

Signed-off-by: Stanislav Kinsbursky &lt;skinsbursky@parallels.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
</content>
</entry>
<entry>
<title>NFS: remove RPC PipeFS mount point reference from blocklayout routines</title>
<updated>2012-01-31T23:20:27Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
</author>
<published>2012-01-10T13:04:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2561d618ffb615f92fe17f0cf6b03f8e5cddb2cb'/>
<id>urn:sha1:2561d618ffb615f92fe17f0cf6b03f8e5cddb2cb</id>
<content type='text'>
This is a cleanup patch. We don't need this reference anymore, because
blocklayout pipes dentries now creates and destroys in per-net operations and
on PipeFS mount/umount notification.
Note that nfs4blocklayout_register_net() now returns 0 instead of -ENOENT in
case of PipeFS superblock absence. This is ok, because blocklayout pipe dentry
will be created on PipeFS mount event.

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