diff options
author | Philipp Reisner <philipp.reisner@linbit.com> | 2010-11-22 14:18:47 +0100 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2011-03-10 11:35:07 +0100 |
commit | 1fc80cf37810d6b00cac27a219b8ecab2010adac (patch) | |
tree | 9d844dcb200a49f3bb94f66238278e4827537d99 /drivers/block | |
parent | 3719094ec2dec411b3151f10048316d787e086f9 (diff) | |
download | kernel_samsung_smdk4412-1fc80cf37810d6b00cac27a219b8ecab2010adac.tar.gz kernel_samsung_smdk4412-1fc80cf37810d6b00cac27a219b8ecab2010adac.tar.bz2 kernel_samsung_smdk4412-1fc80cf37810d6b00cac27a219b8ecab2010adac.zip |
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 14afbd4e53a..8b8a38dc649 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, os.conn < C_CONNECTED) rv = SS_NEED_CONNECTION; + if ((ns.conn == C_SYNC_TARGET || ns.conn == C_SYNC_SOURCE) + && os.conn < C_WF_REPORT_PARAMS) + rv = SS_NEED_CONNECTION; /* No NetworkFailure -> SyncTarget etc... */ + return rv; } |