summaryrefslogtreecommitdiff
path: root/include/linux/drbd.h
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2013-03-27 17:08:40 +0400
committerJens Axboe <axboe@kernel.dk>2013-03-28 20:10:25 +0400
commit2bd5ed5d6713594eb2b4d234d01217d506279c7d (patch)
treeafdeb5ec00f0103f8bb43fea389e3cb18ee958c3 /include/linux/drbd.h
parentbb45185de2e90af63a7bc48855de6f870cc216fc (diff)
downloadlinux-2bd5ed5d6713594eb2b4d234d01217d506279c7d.tar.xz
drbd: Fix disconnect to keep the peer disk state if connection breaks during operation
The issue was that if the connection broke while we did the gracefull state change to C_DISCONNECTING (C_TEARDOWN), then we returned a success code from the state engine. (SS_CW_NO_NEED) The result of that is that we missed to call the fence-peer script in such a case. Fixed that by introducing a new error code (SS_OUTDATE_WO_CONN). This one should never reach back into user space. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/drbd.h')
-rw-r--r--include/linux/drbd.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/drbd.h b/include/linux/drbd.h
index 0c5a18ec322c..316330705fd7 100644
--- a/include/linux/drbd.h
+++ b/include/linux/drbd.h
@@ -319,7 +319,8 @@ enum drbd_state_rv {
SS_IN_TRANSIENT_STATE = -18, /* Retry after the next state change */
SS_CONCURRENT_ST_CHG = -19, /* Concurrent cluster side state change! */
SS_O_VOL_PEER_PRI = -20,
- SS_AFTER_LAST_ERROR = -21, /* Keep this at bottom */
+ SS_OUTDATE_WO_CONN = -21,
+ SS_AFTER_LAST_ERROR = -22, /* Keep this at bottom */
};
/* from drbd_strings.c */