drbd: only generate and send a new sync uuid after a successful state change

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
Lars Ellenberg
2011-01-12 11:51:13 +01:00
committed by Philipp Reisner
parent 20ee639024
commit 6c922ed543

View File

@@ -1544,6 +1544,11 @@ void drbd_start_resync(struct drbd_conf *mdev, enum drbd_conns side)
} }
write_unlock_irq(&global_state_lock); write_unlock_irq(&global_state_lock);
if (r == SS_SUCCESS) {
dev_info(DEV, "Began resync as %s (will sync %lu KB [%lu bits set]).\n",
drbd_conn_str(ns.conn),
(unsigned long) mdev->rs_total << (BM_BLOCK_SHIFT-10),
(unsigned long) mdev->rs_total);
if (side == C_SYNC_TARGET) if (side == C_SYNC_TARGET)
mdev->bm_resync_fo = 0; mdev->bm_resync_fo = 0;
@@ -1557,12 +1562,6 @@ void drbd_start_resync(struct drbd_conf *mdev, enum drbd_conns side)
if (side == C_SYNC_SOURCE && mdev->agreed_pro_version < 96) if (side == C_SYNC_SOURCE && mdev->agreed_pro_version < 96)
drbd_gen_and_send_sync_uuid(mdev); drbd_gen_and_send_sync_uuid(mdev);
if (r == SS_SUCCESS) {
dev_info(DEV, "Began resync as %s (will sync %lu KB [%lu bits set]).\n",
drbd_conn_str(ns.conn),
(unsigned long) mdev->rs_total << (BM_BLOCK_SHIFT-10),
(unsigned long) mdev->rs_total);
if (mdev->agreed_pro_version < 95 && mdev->rs_total == 0) { if (mdev->agreed_pro_version < 95 && mdev->rs_total == 0) {
/* This still has a race (about when exactly the peers /* This still has a race (about when exactly the peers
* detect connection loss) that can lead to a full sync * detect connection loss) that can lead to a full sync