summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_int.h
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2012-08-08 21:19:09 +0200
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-11-09 14:08:18 +0100
commitb66623e33efbbf55717df7bfc49882371118b866 (patch)
tree3f345827c8fab3b4aa8f2b7cf7bd760c704483af /drivers/block/drbd/drbd_int.h
parentdrbd: Protect accesses to the uuid set with a spinlock (diff)
downloadlinux-b66623e33efbbf55717df7bfc49882371118b866.tar.xz
linux-b66623e33efbbf55717df7bfc49882371118b866.zip
drbd: Avoid NetworkFailure state during disconnect
Disconnecting is a cluster wide state change. In case the peer node agrees to the state transition, it sends back the fact on the meta-data connection and closes both sockets. In case the node node that initiated the state transfer sees the closing action on the data-socket, before the P_STATE_CHG_REPLY packet, it was going into one of the network failure states. At least with the fencing option set to something else thatn "dont-care", the unclean shutdown of the connection causes a short IO freeze or a fence operation. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_int.h')
-rw-r--r--drivers/block/drbd/drbd_int.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h
index b83398d64a9c..37ae87e468ae 100644
--- a/drivers/block/drbd/drbd_int.h
+++ b/drivers/block/drbd/drbd_int.h
@@ -816,6 +816,7 @@ enum {
* so shrink_page_list() would not recurse into,
* and potentially deadlock on, this drbd worker.
*/
+ DISCONNECT_SENT,
};
struct drbd_tconn { /* is a resource from the config file */