Changes from v3: * Add registration ID attribute to the unregister netlink message. The userspace daemon will include it in the log output as it is useful for debugging purposes. Changes from v2: * Fix 'no previous prototype' kernel test robot warning in fs/cifs/netlink.c Changes from v1: * Update SPDX header in user space API files to LGPL-2.1+ with Linux-syscall-note [PATCH v4 01/11] cifs: Make extract_hostname function public [PATCH v4 02/11] cifs: Make extract_sharename function public [PATCH v4 03/11] cifs: Register generic netlink family [PATCH v4 04/11] cifs: add witness mount option and data structs [PATCH v4 05/11] cifs: Send witness register and unregister commands [PATCH v4 06/11] cifs: Set witness notification handler for messages [PATCH v4 07/11] cifs: Add witness information to debug data dump [PATCH v4 08/11] cifs: Send witness register messages to userspace [PATCH v4 09/11] cifs: Simplify reconnect code when dfs upcall is [PATCH v4 10/11] cifs: Handle witness client move notification [PATCH v4 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 | 727 +++++++++++++++++++++++++ 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 | 89 +++ fs/cifs/netlink.h | 16 + include/uapi/linux/cifs/cifs_netlink.h | 63 +++ 16 files changed, 1122 insertions(+), 79 deletions(-)