mbox series

[00/11] Witness protocol support for transparent failover

Message ID 20201022181339.30771-1-scabrero@suse.de (mailing list archive)
Headers show
Series Witness protocol support for transparent failover | expand

Message

Samuel Cabrero Oct. 22, 2020, 6:13 p.m. UTC
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(-)