All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC v2 0/7] NFS Force Unmounting
@ 2017-11-10 22:37 Joshua Watt
  2017-11-10 22:37 ` [RFC v2 1/7] SUNRPC: Add flag to kill new tasks Joshua Watt
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Joshua Watt @ 2017-11-10 22:37 UTC (permalink / raw)
  To: NeilBrown, Jeff Layton, Trond Myklebust
  Cc: linux-nfs, Al Viro, J . Bruce Fields, David Howells, Joshua Watt

Reworked patch set in response to Neil's comments. This patchset
requires his patch as a prerequisite:
    http://www.spinics.net/lists/linux-nfs/msg66341.html

These patches implements behavior that allows a failed server to be "cut
off" (e.g. all RPC tasks fail with -EIO) with the following sequence of
operations:

 mount -o remount,serverfailed
 umount -f

In the event you want to try and recover the server, you can remount to
remove the serverfailed status:
 
 mount -o remount,noserverfailed

Although, I'm not sure what implications that might have for data loss.

For the most part I think it is pretty straight forward, the only thing
I am unsure about is the last two patches. This behavior is really
useful in my use case (where the server disappears) as it prevents the
umount -f from blocking while trying to send some DESTROY_SESSION
messages to the client (as long as you mounted with nosharecache).

Version 1 can be found at:
    http://www.spinics.net/lists/linux-nfs/msg66348.html

Thanks in advance for the reviews and comments

Joshua Watt (7):
  SUNRPC: Add flag to kill new tasks
  SUNRPC: Expose kill_new_tasks in debugfs
  SUNRPC: Simplify client shutdown
  NFS: Add mount flags mask
  NFS: Add serverfailed mount option
  NFS: Propagate NFS_MOUNT_UNSHARED to clients
  NFS: Propagate operations to unshared clients

 fs/nfs/client.c                |  9 +++-
 fs/nfs/inode.c                 |  6 +++
 fs/nfs/internal.h              |  1 +
 fs/nfs/nfs3client.c            |  2 +
 fs/nfs/nfs4client.c            |  4 ++
 fs/nfs/super.c                 | 98 ++++++++++++++++++++++++++----------------
 include/linux/nfs_fs_sb.h      |  1 +
 include/linux/sunrpc/clnt.h    |  1 +
 include/uapi/linux/nfs_mount.h |  1 +
 net/sunrpc/clnt.c              | 11 ++---
 net/sunrpc/debugfs.c           |  4 ++
 net/sunrpc/sched.c             |  3 ++
 12 files changed, 95 insertions(+), 46 deletions(-)

-- 
2.13.6


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

end of thread, other threads:[~2017-11-13 17:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-10 22:37 [RFC v2 0/7] NFS Force Unmounting Joshua Watt
2017-11-10 22:37 ` [RFC v2 1/7] SUNRPC: Add flag to kill new tasks Joshua Watt
2017-11-10 22:37 ` [RFC v2 2/7] SUNRPC: Expose kill_new_tasks in debugfs Joshua Watt
2017-11-10 22:37 ` [RFC v2 3/7] SUNRPC: Simplify client shutdown Joshua Watt
2017-11-10 22:37 ` [RFC v2 4/7] NFS: Add mount flags mask Joshua Watt
2017-11-10 22:37 ` [RFC v2 5/7] NFS: Add serverfailed mount option Joshua Watt
2017-11-10 22:45   ` Chuck Lever
2017-11-13 16:29     ` Joshua Watt
2017-11-13 17:23       ` Chuck Lever
2017-11-10 22:37 ` [RFC v2 6/7] NFS: Propagate NFS_MOUNT_UNSHARED to clients Joshua Watt
2017-11-10 22:37 ` [RFC v2 7/7] NFS: Propagate operations to unshared clients Joshua Watt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.