cifs: Set witness notification handler for messages from userspace daemon
+ Set a handler for the witness notification messages received from the userspace daemon. + Handle the resource state change notification. When the resource becomes unavailable or available set the tcp status to CifsNeedReconnect for all channels. Signed-off-by: Samuel Cabrero <scabrero@suse.de> Reviewed-by: Aurelien Aptel <aaptel@suse.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
bf80e5d425
commit
fed979a7e0
4 changed files with 116 additions and 0 deletions
|
|
@ -31,6 +31,9 @@ enum cifs_genl_attributes {
|
|||
CIFS_GENL_ATTR_SWN_USER_NAME,
|
||||
CIFS_GENL_ATTR_SWN_PASSWORD,
|
||||
CIFS_GENL_ATTR_SWN_DOMAIN_NAME,
|
||||
CIFS_GENL_ATTR_SWN_NOTIFICATION_TYPE,
|
||||
CIFS_GENL_ATTR_SWN_RESOURCE_STATE,
|
||||
CIFS_GENL_ATTR_SWN_RESOURCE_NAME,
|
||||
__CIFS_GENL_ATTR_MAX,
|
||||
};
|
||||
#define CIFS_GENL_ATTR_MAX (__CIFS_GENL_ATTR_MAX - 1)
|
||||
|
|
@ -39,8 +42,22 @@ enum cifs_genl_commands {
|
|||
CIFS_GENL_CMD_UNSPEC,
|
||||
CIFS_GENL_CMD_SWN_REGISTER,
|
||||
CIFS_GENL_CMD_SWN_UNREGISTER,
|
||||
CIFS_GENL_CMD_SWN_NOTIFY,
|
||||
__CIFS_GENL_CMD_MAX
|
||||
};
|
||||
#define CIFS_GENL_CMD_MAX (__CIFS_GENL_CMD_MAX - 1)
|
||||
|
||||
enum cifs_swn_notification_type {
|
||||
CIFS_SWN_NOTIFICATION_RESOURCE_CHANGE = 0x01,
|
||||
CIFS_SWN_NOTIFICATION_CLIENT_MOVE = 0x02,
|
||||
CIFS_SWN_NOTIFICATION_SHARE_MOVE = 0x03,
|
||||
CIFS_SWN_NOTIFICATION_IP_CHANGE = 0x04,
|
||||
};
|
||||
|
||||
enum cifs_swn_resource_state {
|
||||
CIFS_SWN_RESOURCE_STATE_UNKNOWN = 0x00,
|
||||
CIFS_SWN_RESOURCE_STATE_AVAILABLE = 0x01,
|
||||
CIFS_SWN_RESOURCE_STATE_UNAVAILABLE = 0xFF
|
||||
};
|
||||
|
||||
#endif /* _UAPILINUX_CIFS_NETLINK_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue