public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Statd port change recovery
@ 2014-09-23 16:26 Benjamin Coddington
  2014-09-23 16:26 ` [PATCH 1/2] SUNRPC: Don't wake tasks during connection abort Benjamin Coddington
  2014-09-23 16:26 ` [PATCH 2/2] lockd: Try to reconnect if statd has moved Benjamin Coddington
  0 siblings, 2 replies; 3+ messages in thread
From: Benjamin Coddington @ 2014-09-23 16:26 UTC (permalink / raw)
  To: linux-nfs

These two attempt to address the issue of the kernel not recovering from
a statd port change, which Bruce pointed out in

http://marc.info/?t=140865700700001&r=1&w=2

The second patch here re-attempts the call after doing rpc_force_rebind
which is basically copied from what NLM would do in the same case.  However,
while working on that I discovered that when the transport attempts to reuse
a socket in the first call after rpc_force_rebind, it calls kernel_connect
with AF_UNSPEC to disconnect, which wakes the task in xs_error_report.  The
change in the task's status causes the first call after rpc_force_rebind to
fail, and a soft task returns which would otherwise succeed if the
connection had already been up.

The first patch tries to remedy this by not waking the task if we end up in
xs_error_report while trying to reuse the connection.  We expect to end up
in xs_error_report with an error, but we don't want to wake the task yet
since we're already set up to immediately reconnect.

Benjamin Coddington (2):
  SUNRPC: Don't wake tasks during connection abort
  lockd: Try to reconnect if statd has moved

 fs/lockd/mon.c              |    6 ++++++
 include/linux/sunrpc/xprt.h |    1 +
 net/sunrpc/xprtsock.c       |    4 ++++
 3 files changed, 11 insertions(+), 0 deletions(-)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-09-23 16:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-23 16:26 [PATCH 0/2] Statd port change recovery Benjamin Coddington
2014-09-23 16:26 ` [PATCH 1/2] SUNRPC: Don't wake tasks during connection abort Benjamin Coddington
2014-09-23 16:26 ` [PATCH 2/2] lockd: Try to reconnect if statd has moved Benjamin Coddington

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox