diff options
author | Philipp Reisner <philipp.reisner@linbit.com> | 2010-11-22 08:18:47 -0500 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2011-03-10 05:35:07 -0500 |
commit | 1fc80cf37810d6b00cac27a219b8ecab2010adac (patch) | |
tree | 9d844dcb200a49f3bb94f66238278e4827537d99 /drivers/block | |
parent | 3719094ec2dec411b3151f10048316d787e086f9 (diff) |
drbd: Becoming sync target may not happen out of < C_WF_REPORT_PARAMS
This patch is acutally a necessary addendum to the patch
"fix for spurious full sync (becoming sync target looked like invalidate)"
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block')
-rw-r--r-- | drivers/block/drbd/drbd_main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index 14afbd4e53a5..8b8a38dc6492 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c | |||
@@ -800,6 +800,10 @@ static int is_valid_state_transition(struct drbd_conf *mdev, | |||
800 | os.conn < C_CONNECTED) | 800 | os.conn < C_CONNECTED) |
801 | rv = SS_NEED_CONNECTION; | 801 | rv = SS_NEED_CONNECTION; |
802 | 802 | ||
803 | if ((ns.conn == C_SYNC_TARGET || ns.conn == C_SYNC_SOURCE) | ||
804 | && os.conn < C_WF_REPORT_PARAMS) | ||
805 | rv = SS_NEED_CONNECTION; /* No NetworkFailure -> SyncTarget etc... */ | ||
806 | |||
803 | return rv; | 807 | return rv; |
804 | } | 808 | } |
805 | 809 | ||