<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/sunrpc/clnt.c, branch linux-3.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-07-12T12:46:52Z</updated>
<entry>
<title>nfsd4/rpc: move backchannel create logic into rpc code</title>
<updated>2016-07-12T12:46:52Z</updated>
<author>
<name>J. Bruce Fields</name>
</author>
<published>2016-05-16T21:03:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f4c24ec8fe878f48a560c185cfda5823961baaa6'/>
<id>urn:sha1:f4c24ec8fe878f48a560c185cfda5823961baaa6</id>
<content type='text'>
[ Upstream commit d50039ea5ee63c589b0434baa5ecf6e5075bb6f9 ]

Also simplify the logic a bit.

Cc: stable@vger.kernel.org
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
Acked-by: Trond Myklebust &lt;trondmy@primarydata.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: NULL utsname dereference on NFS umount during namespace cleanup</title>
<updated>2015-03-06T22:52:58Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2015-01-30T23:12:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bcc9c506f2ba6f8602825b628d97bad1d4e5dd79'/>
<id>urn:sha1:bcc9c506f2ba6f8602825b628d97bad1d4e5dd79</id>
<content type='text'>
commit 03a9a42a1a7e5b3e7919ddfacc1d1cc81882a955 upstream.

Fix an Oopsable condition when nsm_mon_unmon is called as part of the
namespace cleanup, which now apparently happens after the utsname
has been freed.

Link: http://lkml.kernel.org/r/20150125220604.090121ae@neptune.home
Reported-by: Bruno Prémont &lt;bonbons@linux-vserver.org&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'bugfixes' into linux-next</title>
<updated>2014-09-30T21:21:41Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2014-09-30T21:21:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72c23f0819977d37924af92a42a9b7fbfd1c95d8'/>
<id>urn:sha1:72c23f0819977d37924af92a42a9b7fbfd1c95d8</id>
<content type='text'>
* bugfixes:
  NFSv4.1: Fix an NFSv4.1 state renewal regression
  NFSv4: fix open/lock state recovery error handling
  NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails
  NFS: Fabricate fscache server index key correctly
  SUNRPC: Add missing support for RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT
  nfs: fix duplicate proc entries
</content>
</entry>
<entry>
<title>SUNRPC: Add missing support for RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT</title>
<updated>2014-09-26T01:25:17Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2014-09-25T02:35:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2aca5b869ace67a63aab895659e5dc14c33a4d6e'/>
<id>urn:sha1:2aca5b869ace67a63aab895659e5dc14c33a4d6e</id>
<content type='text'>
The flag RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT was intended introduced in
order to allow NFSv4 clients to disable resend timeouts. Since those
cause the RPC layer to break the connection, they mess up the duplicate
reply caches that remain indexed on the port number in NFSv4..

This patch includes the code that was missing in the original to
set the appropriate flag in struct rpc_clnt, when the caller of
rpc_create() sets RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT.

Fixes: 8a19a0b6cb2e (SUNRPC: Add RPC task and client level options to...)
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>rpc: Add -EPERM processing for xs_udp_send_request()</title>
<updated>2014-09-25T03:13:46Z</updated>
<author>
<name>Jason Baron</name>
</author>
<published>2014-09-24T18:08:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3dedbb5ca10ef13f25055776d2f6d9499d9ca1ba'/>
<id>urn:sha1:3dedbb5ca10ef13f25055776d2f6d9499d9ca1ba</id>
<content type='text'>
If an iptables drop rule is added for an nfs server, the client can end up in
a softlockup. Because of the way that xs_sendpages() is structured, the -EPERM
is ignored since the prior bits of the packet may have been successfully queued
and thus xs_sendpages() returns a non-zero value. Then, xs_udp_send_request()
thinks that because some bits were queued it should return -EAGAIN. We then try
the request again and again, resulting in cpu spinning. Reproducer:

1) open a file on the nfs server '/nfs/foo' (mounted using udp)
2) iptables -A OUTPUT -d &lt;nfs server ip&gt; -j DROP
3) write to /nfs/foo
4) close /nfs/foo
5) iptables -D OUTPUT -d &lt;nfs server ip&gt; -j DROP

The softlockup occurs in step 4 above.

The previous patch, allows xs_sendpages() to return both a sent count and
any error values that may have occurred. Thus, if we get an -EPERM, return
that to the higher level code.

With this patch in place we can successfully abort the above sequence and
avoid the softlockup.

I also tried the above test case on an nfs mount on tcp and although the system
does not softlockup, I still ended up with the 'hung_task' firing after 120
seconds, due to the i/o being stuck. The tcp case appears a bit harder to fix,
since -EPERM appears to get ignored much lower down in the stack and does not
propogate up to xs_sendpages(). This case is not quite as insidious as the
softlockup and it is not addressed here.

Reported-by: Yigong Lou &lt;ylou@akamai.com&gt;
Signed-off-by: Jason Baron &lt;jbaron@akamai.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Handle EPIPE in xprt_connect_status</title>
<updated>2014-07-03T04:11:35Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2014-07-03T04:02:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2fc193cf924ea6eb74f6a0cf73b94b2e62938ae5'/>
<id>urn:sha1:2fc193cf924ea6eb74f6a0cf73b94b2e62938ae5</id>
<content type='text'>
The callback handler xs_error_report() can end up propagating an EPIPE
error by means of the call to xprt_wake_pending_tasks(). Ensure that
xprt_connect_status() does not automatically convert this into an
EIO error.

Reported-by: Weston Andros Adamson &lt;dros@primarydata.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Ensure that we handle ENOBUFS errors correctly.</title>
<updated>2014-06-30T17:42:19Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2014-06-30T17:42:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3601c4a91ebbbf1cf69f66a2abeffc6c64a4fe64'/>
<id>urn:sha1:3601c4a91ebbbf1cf69f66a2abeffc6c64a4fe64</id>
<content type='text'>
Currently, an ENOBUFS error will result in a fatal error for the RPC
call. Normally, we will just want to wait and then retry.

Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-3.15' of git://linux-nfs.org/~bfields/linux</title>
<updated>2014-04-09T01:28:14Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2014-04-09T01:28:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=75ff24fa52f0cc512ceee4c377632b91a3a80811'/>
<id>urn:sha1:75ff24fa52f0cc512ceee4c377632b91a3a80811</id>
<content type='text'>
Pull nfsd updates from Bruce Fields:
 "Highlights:
   - server-side nfs/rdma fixes from Jeff Layton and Tom Tucker
   - xdr fixes (a larger xdr rewrite has been posted but I decided it
     would be better to queue it up for 3.16).
   - miscellaneous fixes and cleanup from all over (thanks especially to
     Kinglong Mee)"

* 'for-3.15' of git://linux-nfs.org/~bfields/linux: (36 commits)
  nfsd4: don't create unnecessary mask acl
  nfsd: revert v2 half of "nfsd: don't return high mode bits"
  nfsd4: fix memory leak in nfsd4_encode_fattr()
  nfsd: check passed socket's net matches NFSd superblock's one
  SUNRPC: Clear xpt_bc_xprt if xs_setup_bc_tcp failed
  NFSD/SUNRPC: Check rpc_xprt out of xs_setup_bc_tcp
  SUNRPC: New helper for creating client with rpc_xprt
  NFSD: Free backchannel xprt in bc_destroy
  NFSD: Clear wcc data between compound ops
  nfsd: Don't return NFS4ERR_STALE_STATEID for NFSv4.1+
  nfsd4: fix nfs4err_resource in 4.1 case
  nfsd4: fix setclientid encode size
  nfsd4: remove redundant check from nfsd4_check_resp_size
  nfsd4: use more generous NFS4_ACL_MAX
  nfsd4: minor nfsd4_replay_cache_entry cleanup
  nfsd4: nfsd4_replay_cache_entry should be static
  nfsd4: update comments with obsolete function name
  rpc: Allow xdr_buf_subsegment to operate in-place
  NFSD: Using free_conn free connection
  SUNRPC: fix memory leak of peer addresses in XPRT
  ...
</content>
</entry>
<entry>
<title>SUNRPC: New helper for creating client with rpc_xprt</title>
<updated>2014-03-30T14:47:36Z</updated>
<author>
<name>Kinglong Mee</name>
</author>
<published>2014-03-24T03:58:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=83ddfebdd21da669918d7f9854fd592858625f4b'/>
<id>urn:sha1:83ddfebdd21da669918d7f9854fd592858625f4b</id>
<content type='text'>
Signed-off-by: Kinglong Mee &lt;kinglongmee@gmail.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: rpc_restart_call/rpc_restart_call_prepare should clear task-&gt;tk_status</title>
<updated>2014-03-20T17:38:44Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2014-03-20T16:59:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=494314c415e2d3b308f57c9245ae6525166c70b8'/>
<id>urn:sha1:494314c415e2d3b308f57c9245ae6525166c70b8</id>
<content type='text'>
When restarting an rpc call, we should not be carrying over data from the
previous call.

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