<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/nfs/blocklayout/blocklayout.c, branch linux-3.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-04-27T18:10:37Z</updated>
<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>
<entry>
<title>NFS: blocklayout PipeFS notifier introduced</title>
<updated>2012-01-31T23:20:27Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
</author>
<published>2012-01-10T13:04:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=627f30668fac12f5bd555a2cc22af2323762fe8d'/>
<id>urn:sha1:627f30668fac12f5bd555a2cc22af2323762fe8d</id>
<content type='text'>
This patch subscribes blocklayout pipes to RPC pipefs notifications. Notifier
is registering on blocklayout module load. This notifier callback is
responsible for creation/destruction of PipeFS blocklayout pipe dentry.
Note that no locking required in notifier callback because PipeFS superblock
pointer is passed as an argument from it's creation or destruction routine and
thus we can be sure about it's validity.

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: blocklayout pipe creation per network namespace context introduced</title>
<updated>2012-01-31T23:20:27Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
</author>
<published>2012-01-10T13:04:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9e2e74dba6ddce94da187369b50a27536147d5df'/>
<id>urn:sha1:9e2e74dba6ddce94da187369b50a27536147d5df</id>
<content type='text'>
This patch implements blocklayout pipe creation and registration per each
existent network namespace.
This was achived by registering NFS per-net operations, responsible for
blocklayout pipe allocation/register and unregister/destruction instead of
initialization and destruction of static "bl_device_pipe" pipe (this one was
removed).
Note, than pointer to network blocklayout pipe is stored in per-net "nfs_net"
structure, because allocating of one more per-net structure for blocklayout
module looks redundant.
This patch also changes dev_remove() function prototype (and all it's callers,
where it' requied) by adding network namespace pointer parameter, which is used
to discover proper blocklayout pipe for rpc_queue_upcall() call.

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: handle blocklayout pipe PipeFS dentry by network namespace aware routines</title>
<updated>2012-01-31T23:20:27Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
</author>
<published>2012-01-10T13:04:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=332dfab6f4e02d3c5897e9470492bee7d14f29cc'/>
<id>urn:sha1:332dfab6f4e02d3c5897e9470492bee7d14f29cc</id>
<content type='text'>
This patch makes blocklayout pipe dentry allocated and destroyed in network
namespace context by PipeFS network namespace aware routines.
Network namespace context is obtained from nfs_client structure.

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>SUNRPC: split SUNPRC PipeFS dentry and private pipe data creation</title>
<updated>2012-01-31T23:20:25Z</updated>
<author>
<name>Stanislav Kinsbursky</name>
</author>
<published>2011-12-26T12:44:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c239d83b9921b8a8005a3bcd23000cfe18acf5c2'/>
<id>urn:sha1:c239d83b9921b8a8005a3bcd23000cfe18acf5c2</id>
<content type='text'>
This patch is a final step towards to removing PipeFS inode references from
kernel code other than PipeFS itself. It makes all kernel SUNRPC PipeFS users
depends on pipe private data, which state depend on their specific operations,
etc.
This patch completes SUNRPC PipeFS preparations and allows to create pipe
private data and PipeFS dentries independently.
Next step will be making SUNPRC PipeFS dentries allocated by SUNRPC PipeFS
network namespace aware routines.

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