Drivers: hv: kvp,vss: Fast propagation of userspace communication failure
authorVitaly Kuznetsov <vkuznets@redhat.com>
Thu, 6 Nov 2014 17:21:25 +0000 (18:21 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Nov 2014 03:00:32 +0000 (19:00 -0800)
commit8d9560ebcc6448472b3afe8f36f37d6b0de8f5a4
tree3111728c85dfb7bbd26fce7625d9dfcae742860c
parent649142074d86afebe0505431a93957505d244dd6
Drivers: hv: kvp,vss: Fast propagation of userspace communication failure

If we fail to send a message to userspace daemon with cn_netlink_send()
there is no need to wait for userspace to reply as it is not going to
happen. This happens when kvp or vss daemon is stopped after a successful
handshake. Report HV_E_FAIL immediately and cancel the timeout job so
host won't receive two failures.
Use pr_warn() for VSS and pr_debug() for KVP deliberately as VSS request
are rare and result in a failed backup. KVP requests are much more frequent
after a successful handshake so avoid flooding logs. It would be nice to
have an ability to de-negotiate with the host in case userspace daemon gets
disconnected so we won't receive new requests. But I'm not sure it is
possible.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hv/hv_kvp.c
drivers/hv/hv_snapshot.c