From: Joshua Watt <jpewhacker@gmail.com>
To: NeilBrown <neilb@suse.com>, Jeff Layton <jlayton@redhat.com>,
Trond Myklebust <trond.myklebust@primarydata.com>
Cc: linux-nfs@vger.kernel.org, Al Viro <viro@zeniv.linux.org.uk>,
"J . Bruce Fields" <bfields@fieldses.org>,
David Howells <dhowells@redhat.com>,
Joshua Watt <JPEWhacker@gmail.com>
Subject: [RFC v2 0/7] NFS Force Unmounting
Date: Fri, 10 Nov 2017 16:37:00 -0600 [thread overview]
Message-ID: <20171110223707.17098-1-JPEWhacker@gmail.com> (raw)
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
next reply other threads:[~2017-11-10 22:37 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-10 22:37 Joshua Watt [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171110223707.17098-1-JPEWhacker@gmail.com \
--to=jpewhacker@gmail.com \
--cc=bfields@fieldses.org \
--cc=dhowells@redhat.com \
--cc=jlayton@redhat.com \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.com \
--cc=trond.myklebust@primarydata.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.