diff --git a/[refs] b/[refs] index 6643c6c52752..72e4b6bc72f0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 47ff2d0a8e7ce87fed180729e8341f650bf585c8 +refs/heads/master: 894c6a946199cf91e52bc1864c3dc6529cceb3db diff --git a/trunk/drivers/block/drbd/drbd_nl.c b/trunk/drivers/block/drbd/drbd_nl.c index 5288bd72cd27..cda7cb3202b9 100644 --- a/trunk/drivers/block/drbd/drbd_nl.c +++ b/trunk/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; }