public inbox for linux-cifs@vger.kernel.org
 help / color / mirror / Atom feed
From: Samuel Cabrero <scabrero@suse.de>
To: linux-cifs@vger.kernel.org
Subject: [PATCH 00/11] Witness protocol support for transparent failover
Date: Thu, 22 Oct 2020 20:13:28 +0200	[thread overview]
Message-ID: <20201022181339.30771-1-scabrero@suse.de> (raw)

This patchset adds witness protocol support, enabling transparent
client failover for clustered shares. Both, regular and scale-out
clustered file servers are supported.

In summary, the client side of the protocol is implemented in userspace,
specifically in the samba's swnclient library, and a new daemon called
swnd provides the interface for the cifs module via netlink. This
reduces the kernel changes to just sending the commands to register and
unregister to receive the notifications and process these notifications
received from swnd.

[PATCH 01/11] cifs: Make extract_hostname function public
[PATCH 02/11] cifs: Make extract_sharename function public
[PATCH 03/11] cifs: Register generic netlink family
[PATCH 04/11] cifs: add witness mount option and data structs
[PATCH 05/11] cifs: Send witness register and unregister commands to
[PATCH 06/11] cifs: Set witness notification handler for messages
[PATCH 07/11] cifs: Add witness information to debug data dump
[PATCH 08/11] cifs: Send witness register messages to userspace
[PATCH 09/11] cifs: Simplify reconnect code when dfs upcall is
[PATCH 10/11] cifs: Handle witness client move notification
[PATCH 11/11] cifs: Handle witness share moved notification

 fs/cifs/Kconfig                        |  11 +
 fs/cifs/Makefile                       |   2 +
 fs/cifs/cache.c                        |  24 -
 fs/cifs/cifs_debug.c                   |  13 +
 fs/cifs/cifs_swn.c                     | 723 +++++++++++++++++++++++++
 fs/cifs/cifs_swn.h                     |  25 +
 fs/cifs/cifsfs.c                       |  22 +-
 fs/cifs/cifsglob.h                     |   8 +
 fs/cifs/cifsproto.h                    |   2 +
 fs/cifs/connect.c                      | 141 +++--
 fs/cifs/fscache.c                      |   1 +
 fs/cifs/fscache.h                      |   1 -
 fs/cifs/misc.c                         |  56 ++
 fs/cifs/netlink.c                      |  88 +++
 fs/cifs/netlink.h                      |  16 +
 include/uapi/linux/cifs/cifs_netlink.h |  63 +++
 16 files changed, 1117 insertions(+), 79 deletions(-)


             reply	other threads:[~2020-10-22 18:13 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-22 18:13 Samuel Cabrero [this message]
2020-10-22 18:13 ` [PATCH 01/11] cifs: Make extract_hostname function public Samuel Cabrero
2020-10-23  8:54   ` Aurélien Aptel
2020-10-22 18:13 ` [PATCH 02/11] cifs: Make extract_sharename " Samuel Cabrero
2020-10-23  8:54   ` Aurélien Aptel
2020-10-22 18:13 ` [PATCH 03/11] cifs: Register generic netlink family Samuel Cabrero
2020-10-22 19:23   ` kernel test robot
2020-10-22 20:12   ` kernel test robot
2020-10-23  9:58   ` Aurélien Aptel
2020-10-22 18:13 ` [PATCH 04/11] cifs: add witness mount option and data structs Samuel Cabrero
2020-10-23  9:19   ` Aurélien Aptel
2020-10-22 18:13 ` [PATCH 05/11] cifs: Send witness register and unregister commands to userspace daemon Samuel Cabrero
2020-10-22 18:13 ` [PATCH 06/11] cifs: Set witness notification handler for messages from " Samuel Cabrero
2020-10-22 18:13 ` [PATCH 07/11] cifs: Add witness information to debug data dump Samuel Cabrero
2020-10-22 18:13 ` [PATCH 08/11] cifs: Send witness register messages to userspace daemon in echo task Samuel Cabrero
2020-10-22 18:13 ` [PATCH 09/11] cifs: Simplify reconnect code when dfs upcall is enabled Samuel Cabrero
2020-10-22 18:13 ` [PATCH 10/11] cifs: Handle witness client move notification Samuel Cabrero
2020-10-22 18:13 ` [PATCH 11/11] cifs: Handle witness share moved notification Samuel Cabrero

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=20201022181339.30771-1-scabrero@suse.de \
    --to=scabrero@suse.de \
    --cc=linux-cifs@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox