summaryrefslogtreecommitdiff
path: root/drivers/block
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2010-06-18 16:03:20 +0200
committerPhilipp Reisner <philipp.reisner@linbit.com>2010-10-14 14:55:11 +0200
commit894c6a946199cf91e52bc1864c3dc6529cceb3db (patch)
tree8fcb4eee7d538717943fba7d55f079efac95fbe0 /drivers/block
parent47ff2d0a8e7ce87fed180729e8341f650bf585c8 (diff)
drbd: Disabled the crashed_primary detection for re-attach of last data while IO is frozen
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_nl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_nl.c b/drivers/block/drbd/drbd_nl.c
index 5288bd72cd27..cda7cb3202b9 100644
--- a/drivers/block/drbd/drbd_nl.c
+++ b/drivers/block/drbd/drbd_nl.c
@@ -1033,7 +1033,9 @@ static int drbd_nl_disk_conf(struct drbd_conf *mdev, struct drbd_nl_cfg_req *nlp
else
clear_bit(CRASHED_PRIMARY, &mdev->flags);
- if (drbd_md_test_flag(mdev->ldev, MDF_PRIMARY_IND)) {
+ if (drbd_md_test_flag(mdev->ldev, MDF_PRIMARY_IND) &&
+ !(mdev->state.role == R_PRIMARY && mdev->state.susp &&
+ mdev->sync_conf.on_no_data == OND_SUSPEND_IO)) {
set_bit(CRASHED_PRIMARY, &mdev->flags);
cp_discovered = 1;
}